#10046

gecca
メンバー

>>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!”);