kshiさんは書きました:
江村さん、ご回答ありがとうございます。
他のテキストエディタでは、関数名@マクロファイル名
で実行できる仕様のものもあるようです。
機会があればご検討いただきたく思います。複数のマクロからサブルーチンを共用したくなって
上記の質問をさせていただいた次第ですが、
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);
という具合に簡便に利用できるメソッドがあれば、
いろいろと応用が利きそうです。
複数のマクロからサブルーチンを共用するのが目的でしたら、ファイルの最初に
#include “sub.jsee”
という行を追加するだけで可能です。