起動時のコマンドラインで実行されたマクNo.40230
Roka さん 11/03/18 15:42
 
マクロが秀丸メールの起動時のコマンドラインで実行されたか判定する方法はあるで
しょうか?
ReasonMacroStarted は「ExecMacro命令によって起動された」ですが、起動時のコマ
ンドラインかどうかが
判別できません。
よろしくお願いします。

[ ]
RE:40230 起動時のコマンドラインで実行さNo.40232
秀まるお2 さん 11/03/18 17:20
 
 ReasonMacroStartedに書いてある「ExecMacro命令」というのは、テンプレー
トの命令での

 $(ExecMacro,マクロファイル名)

 を使った場合という意味でした。説明不足ですみません。(それはそれでさっ
そく修正させていただきます)

 で、テストしてみたら、秀丸メール起動時コマンドラインからマクロ実行され
た場合は、たしかにこのReasonMacroStartedの値が4になるようです。これは特
に意図してそうしてる訳じゃなくて、内部的な処理が$(ExecMacro)テンプレート
命令でマクロ起動したのと同じ処理になっていて、それでたまたま4になってし
まうようでした。

 これはこれで、現状そういう仕様になっているので今後もその仕様を保証させ
ていただきます。なので、この値を使っていただいてもいいです。(ただし、テ
ンプレート命令から起動されたのかコマンドラインから起動されたのかの区別は
出来ませんけども)

 他の方法としてですが、秀丸メール起動時コマンドラインに


   /aXXXX


 のような形でパラメータ指定していただければ、その「パラメータが指定され
てる」ということが、argcountキーワードで調べることが出来ます。それを使う
方法もあります。

 例えば秀丸メール起動時のコマンドラインで

   turukame.exe /xtest.mac /aDUMMYPARAM

 のように指定していただければ、

    message str(argcount);

 のような命令を実行した時に「1」が表示されます。そういう仕組みを使う方
法でどうでしょうか。

 それか、現状でReasonMacroStartedが4を返す仕様を変更させていただく手も
ありますけども…。(ReasonMacroStartedが4を返すことを利用してるマクロ作
者様はたぶんおられないと思いますので)

[ ]
RE:40232 起動時のコマンドラインで実行さNo.40241
Roka さん 11/03/19 10:52
 
> それか、現状でReasonMacroStartedが4を返す仕様を変更させていただく手も
>ありますけども…。(ReasonMacroStartedが4を返すことを利用してるマクロ作
>者様はたぶんおられないと思いますので)

ReasonMacroStarted の返す値を変更していただけるのが一番うれしいです。

[ ]
RE:40241 起動時のコマンドラインで実行さNo.40247
秀まるお2 さん 11/03/19 20:14
 
 では次のV5.70β9からコマンドラインの/xオプションで起動された場合は
ReasonMacroStartedの返り値として10を返すように修正させていただきます。

[ ]
RE:40247 起動時のコマンドラインで実行さNo.40283
Roka さん 11/03/23 16:51
 
V5.70β9 で確認しました。対応ありがとうございました。

[ ]