#6962
Yutaka Emura
キーマスター

kshiさんは書きました:
WSHのFileSystemObjectを利用して、他のスクリプトファイルの内容を読み込み、
evalで実行するマクロを作っていたところ、スクリプトファイルのエンコードが
システム既定?(シフトJIS)でないと「文字が正しくありません」というエラー
が出ました。

UTF-16LE (BOM付き) で保存したスクリプトを

var fso = new ActiveXObject(“Scripting.FileSystemObject”);
var ts = fso.OpenTextFile(DataFileName, 1, true, -1);

のようにUnicode指定(-1)で読んでもエラーになります。

手元で試した限りでは、
「システム既定エンコードの文字列でないとevalが正常に動作しない」
という感じです。

システム既定以外のエンコードでもevalを実行する方法はあるのでしょうか。
(文字列を解析して自前でエンコードするというのはナシで……)

これは EmEditor のマクロの質問というよりは、JavaScript の質問ということになりますが、 eval はどこで使用されているのでしょうか? 具体的なサンプルを提示していただければ回答しやすいと思います。