>>shiz99さん
すみません、返信が遅れてしまいました。
> 台湾です
台湾の方でしたか!これからもよろしくお願いします。
> 1、たとえば、呼び出し元のマクロファイルのテキストコードはUTF-16、呼び出し先のマクロのテキストコードはJISならエラー発生します
おっしゃる通りです。文字コードの判定は難しいと思います。
> 2、呼び出し先のマクロの中にスクリプト指示子(#includeなど)があるなら、それもエラー発生します
これはどうですか?
文字コードを指定すれば、ちゃんと呼び出せます。
DEFAULT_CHARSETに、shiz99さんが最もよく使う文字コードを指定してください。
僕が提示できるのはこれが限界です。
main.jsee
function include(fileName, charset) {
var DEFAULT_CHARSET = “Shift_JIS”;
var stream = new ActiveXObject(“ADODB.Stream”);
stream.Open();
stream.Type = 2;
stream.Charset = charset || DEFAULT_CHARSET;
stream.LoadFromFile(ScriptFullName.replace(/[^]*$/, “”) + fileName + “.jsee”);
eval(stream.ReadText().replace(/^(#[^rn](rn|r|n))*/g, “”));
stream.Close();
}include(“strategy1”); // include(“strategy1”, “Shift_JIS”);
include(“strategy2”, “UTF-16”);
strategy1.jsee (Shift_JIS)
alert(“strategy1 is included!”);
strategy2.jsee (UTF-16)
alert(“strategy2 is included!”);