|
まず、自動起動マクロは、run文に限ったことではないですが、任意の手動操作のマ
クロ実行の後は実行されないようになっています。
例えば、
newfile;
endmacro;
というマクロでは新規作成直後のマクロは実行されないです。
openfile @"c:\folder\test.txt";
endmacro:
というマクロではファイルを開いた直後のマクロは実行されないです。
これをやるとしたら、例えばマクロの最後にexecmacroをするしかないです。
newfile;
execmacro "新規作成直後のマクロ.mac";
endmacro;
マクロをいじらずに、設定するだけでいかなる場合も必ず実行するようにするという
ことができたらいいですが、仕組み的に難しいところです。
次にrun文についてですが、これは基本的に非同期で実行されるようになっています。
非同期だとマクロ本体とは別でいつ終わるかわからないので、終わった後にexecmacr
oで制御することはできないことになります。
確実にするには、runex文を使って、同期するようにするといいです。
マクロの例:
runex @"cmd.exe /c dir"
,1 //同期
,0,""//標準入力
,4,""//標準出力 4=新規作成
;
execmacro "新規作成直後のマクロ.mac";
|
|