マクロの周期的実行No.07258
rosegardenyk さん 13/07/31 00:23
 
rosegardenykです。

毎週一定の曜日に自作マクロを一つ実行させたいのですがやり方が思い浮かびません。
どうぞご教示ください。


[ ]
RE:07258 マクロの周期的実行No.07259
秀丸担当 さん 13/07/31 08:50
 

タスクスケジューラなど、何らかの外部ソフトからhidemaru.exeを実行して起動
オプションで/xを指定してマクロを実行するようにするといいと思います。

タスクスケジューラの場合、ログオンしていないと見えないデスクトップ上で実
行されてしまうことがあるらしいので、その場合常駐秀丸エディタも同時に起動
してしまうと都合が悪いため/zオプションも同時に指定しておいたほうがいいで
す。
/zオプションは常駐秀丸エディタを自動的には起動しないようになります。

例えば以下のようなコマンドラインになります。

"c:\Program Files\Hidemaru\Hidemaru.exe" /z /xtest.mac

[ ]
RE:07259 マクロの周期的実行No.07260
rosegardenyk さん 13/07/31 21:46
 
お返事ありがとうございます。
>例えば以下のようなコマンドラインになります。
>"c:\Program Files\Hidemaru\Hidemaru.exe" /z /xtest.mac

自分のPCで Window7のコントロルパネル→管理ツール→タスクスケジューラ から
「基本タスクの作成」ウィザードを開いてタスクを登録しました。
トリガー
 毎週 プロがラム: "c:\Program Files\Hidemaru\Hidemaru.exe" /z /mytest.mac
としましたがこれでよいでしょうか?

上例で引用符を付けたのは /z /xtest.mac を引数とする意味でしょうか?
トリガー
 毎週 プロがラム:  c:\Program Files\Hidemaru\Hidemaru.exe
操作
 プログラムの開始 引数の追加(オプション)(A): /z /mytest.mac
 開始オプション    開始(オプション)(T): 空白
と同じ意味でしょうか?

また、「ユーザがログオンしているかどうかにかかわらず実行する」を選択しました
が、やはり指定時刻にPCが起動していないといけない気がします。 指定時刻後にPC
 を起動してもその週の実行はされないような気がしていますがいかがでしょうか?
Hidemaruの範囲外かもしれませんが、一般論としてお分かりになる範囲内で教えてく
ださい。


[ ]
RE:07260 マクロの周期的実行No.07261
秀丸担当 さん 13/08/01 09:49
 

>トリガー
> 毎週 プロがラム: "c:\Program Files\Hidemaru\Hidemaru.exe" /z /mytest.mac
>としましたがこれでよいでしょうか?

マクロの実行は/xオプションで、その次にマクロのファイル名を書きます。
mytest.macというマクロの場合、/xmytest.macになります。


>上例で引用符を付けたのは /z /xtest.mac を引数とする意味でしょうか?

Program Filesの部分が空白を含むので、引用符をつけました。
タスクスケジューラに限ったことではないですが、空白を含む場合
「c:\Program」までがパスで、「Files\Hidemaru…」以降が引数と解釈されてし
まうので、それを避けるための一般的な書き方になると思います。


>トリガー
> 毎週 プロがラム:  c:\Program Files\Hidemaru\Hidemaru.exe
>操作
> プログラムの開始 引数の追加(オプション)(A): /z /mytest.mac
> 開始オプション    開始(オプション)(T): 空白
>と同じ意味でしょうか?

上記と同じ意味になります。
タスクスケジューラの場合はそのまま貼り付けたら自動的に引数が分けられるよ
うです。


>また、「ユーザがログオンしているかどうかにかかわらず実行する」を選択しました
>が、やはり指定時刻にPCが起動していないといけない気がします。 指定時刻後にPC
> を起動してもその週の実行はされないような気がしていますがいかがでしょうか?

たぶんそうだと思いますが、過ぎてしまったものを処理することができるのかど
うか、タスクスケジューラの詳細な動作については秀丸エディタとしてはわから
ないです。


「ユーザがログオンしているかどうかにかかわらず実行する」の場合は、あとも
う一つ気をつけるべきことがありました。
/zオプションと、マクロ内では秀丸エディタ自身を確実に終了させる必要があり
ます。
そうでないと見えないデスクトップ上でずっと秀丸エディタが残り続けることに
なるようです。
自分自身を終わらせるには、
quit;
とすると終わります。

[ ]
RE:07261 マクロの周期的実行No.07262
rosegardenyk さん 13/08/02 04:50
 
詳細に教えて下ってありがとうございます。
>なるようです。quit; とすると終わります。
mytest.mac(仮称) の最後に endomacro; としていましたが、
代わりに quit;としておけば endomacro; は記述不要と思いますがいかがでしょうか?

また;動作環境で macrodir をprogram filesと全く別の場所に設定してあります。
ご教示くださったコマンドラインのままでも問題なく動作してくれる気でいますが、
やはりmacrodir に指定した場所をコマンドラインに記述すべきでしょうか?

[ ]
RE:07262 マクロの周期的実行No.07263
秀丸担当 さん 13/08/02 08:52
 

>mytest.mac(仮称) の最後に endomacro; としていましたが、
>代わりに quit;としておけば endomacro; は記述不要と思いますがいかがでしょう
>か?

quit;があればendmacro;はいらないです。

>また;動作環境で macrodir をprogram filesと全く別の場所に設定してあります。
>ご教示くださったコマンドラインのままでも問題なく動作してくれる気でいますが、
>やはりmacrodir に指定した場所をコマンドラインに記述すべきでしょうか?

マクロファイル用のフォルダにマクロファイルがあれば、フルパスでなくても
/xmytest.macで大丈夫です。

マクロファイル用のフォルダに無い場合はフルパスで書く必要があります。
例えば
"C:\Program Files\Hidemaru\Hidemaru.exe" /xC:\myfolder\mytest.mac
や、空白を含む場合
"C:\Program Files\Hidemaru\Hidemaru.exe" /x"C:\my folder\mytest.mac"
といった感じになります。

[ ]
RE:07263 マクロの周期的実行No.07264
rosegardenyk さん 13/08/02 09:03
 
いろいろとありがとうございました。

[ ]