2008年12月30日 5:02 am #6922
Participant
江村さん、ご回答ありがとうございます。
他のテキストエディタでは、
関数名@マクロファイル名
で実行できる仕様のものもあるようです。
機会があればご検討いただきたく思います。
複数のマクロからサブルーチンを共用したくなって
上記の質問をさせていただいた次第ですが、
WEBで調べるうちにeval()を利用する裏技に行き当たりました。
以下のmail.jseeとsub.jseeを同じフォルダに置いて、
mainを実行すると擬似的な戻り値も利用できます。
main.jsee
s = eval_file(“sub.jsee”);
alert(s); //ファイルの内容を表示
eval(s); //実行
alert(s); //擬似的な戻り値を表示// ファイルを読み込む
function eval_file(filename){
var fso = new ActiveXObject(‘Scripting.FileSystemObject’);
var path = fso.GetParentFolderName(ScriptFullName) + ” + filename;
var stream = fso.OpenTextFile(path);
var strScript =stream.ReadAll();
stream.Close();
return strScript;
}
sub.jsee
alert(“sub”);
s=”擬似的な戻り値”;
ファイルの内容を読むあたりがひと手間かかりますので、
EmEditorに
s=ReadFileAll(PATH);
という具合に簡便に利用できるメソッドがあれば、
いろいろと応用が利きそうです。