execmacro文(Ver8.71対応版)
目次− execmacro文
 マクロの中から、さらに別のマクロを実行します。起動された側のマクロが終了すると現在のマクロの実行を続行します。
 パラメータでマクロのファイル名を指定してください。
 execmacroされたマクロからさらにexecmacroを実行する場合、execmacroのネストがあまり深くならないように注意してください。
execmacro "test.mac";

 第2パラメータ以降を指定して、マクロに文字列を渡すこともできます。(V8.00以降)
 渡したパラメータは、呼ばれたマクロ側でgetarg関数で取得できます。
 指定できるパラメータは31個までです。
execmacro "test.mac", "param1", "param2";

 execmacroで呼んだマクロの中でさらにexecmacroする場合、getargは元の状態を覚えていません。
 openfileで秀丸エディタが新しく起動する場合は、hidemaru.exeを起動したのと同じ扱いで、getargは元の状態を覚えていません。
 execmacroを呼ぶ前に、一度別の変数に退避しておく必要があります。
 /aやexecmacroで渡す引数の上限は31個です。

 execmacroで呼ばれたマクロは、endmacroにパラメータを指定して、戻り値(文字列)を設定することができます。
 戻り値はexecmacroから復帰した後getresultexで取得できます。(V8.00以降)

 第2パラメータに文字列の配列変数、第3パラメータに配列の個数を指定して渡すこともできます。(V8.66以降)
$a[0] = "param1";
$a[1] = "param2";
$a[2] = "param3";
#c=3;
execmacro "test.mac", $a, #c;

参照:getarg関数 argcountキーワード
参照:getresultex関数
参照:endmacro文


戻る