|
やり方は2種類あると思います。
1つは、Windowsのタスクスケジューラーを使って23時に秀丸メールにマクロ
実行させて、そのマクロで受信を実行する方法。
もう1つは、自動実行マクロの「送受信の開始直前」についてマクロを割り当
てておいて、そのマクロで、23時以外の定期受信を抑止する方法。
前者は、その時間帯に秀丸メールで何か作業中だと受信されない可能性があり
ます。
後者は、23時に秀丸メールが起動してないと受信が実行されないので、例えば
無人で実行したい場合に、帰宅前に秀丸メールを起動しておくのを忘れると受信
されないって問題があります。
■タスクスケジューラを使う方法
マクロとして、
loaddlll "tkinfo.dll";
#n = dllfunc("StartTransmitAll");
のような2行だけのマクロを、例えば「StartTransmitAll.mac」ってファイル
で保存しておきます。
そして、タスクスケジューラーの方に、
"C:\Program files\HidemaruMail\TuruKame.exe" /x StartTransmitAll.mac
みたいなマクロ実行する用のコマンドラインを登録しておけばいいです。そう
するとその時間に秀丸メールが起動してマクロ実行されます。
秀丸メールがすでに起動してる場合でもうまくマクロ実行されますが、すでに
起動されてる秀丸メール上で何か作業中だった場合、例えば何かダイアログボッ
クスを表示してる最中だとか、メールをドラッグドロップしてる最中だったりす
ると、マクロ実行に失敗してエラーメッセージが出たまま止まることになります。
■定期受信の場合
マクロは、例えばこんな感じでいいと思います。
message "test.mac";
loaddll "tkinfo.dll";
message str(dllfunc("GetTransmitCommandCode"));
if( dllfunc("GetTransmitCommandCode") != 1 ) {
//定期受信でなければ終了
endmacro;
}
if( leftstr( time, 2 ) == "23" ) {
$ini = macrodir + "\\TransmitAll23.ini";
$prev = getinistr( $ini, "Date", "Date" );
$now = date;
if( $prev != $now ) {
//受信実行
writeinistr $ini, "Date", "Date", $now;
endmacro;
}
}
#n = dllfunc("SetCancel", 1); //定期受信させない
endmacro;
これを「マクロ・マクロ登録...」の「自動起動」ページの「送受信の開始直
前」に登録しておけばいいです。そして、定期受信の間隔を1時間以内の、出来
たら20分に1回以下程度にセットしておくのがお勧めです。
|
|