|
マクロに少々問題があるようなので、ちょっと直しました。
まず、「あとで送信/今すぐ送信時」の自動起動で使う用のマクロですが、
以下のように直してみました。これなら「他の秀丸メールウィンドウがマクロ
を終了するまで待ってます」ってメッセージはでないですんなり動作すると思
います。
loaddll "tkinfo.dll";
if( hidemarucount >= 3 ) {
#i = 1;
#closecount = 0;
while( #i < hidemarucount ) {
$title = dllfuncstr("Bypass_GetWindowText"
, hidemaruhandle(#i));
if( leftstr($title, 10) == "秀丸メール"
|| leftstr($title, 5) == "新規 "
|| leftstr($title, 5) == "返信 "
|| leftstr($title, 5) == "転送 " ) {
// 閉じない
} else {
#close[#closecount] = hidemaruhandle(#i);
#closecount = #closecount + 1;
}
#i = #i + 1;
}
#i = 0;
while( #i < #closecount ) {
closehidemaru #close[#i];
#i = #i + 1;
}
}
それと、Escキーを押してエディタを終了させる方のマクロですが、Escキー
というのは範囲選択を解除する時にも使うので、しいてEscキーに割り当てて
使うマクロということであれば、以下のように直した方がいいと思います。
if( selecting ) {
escape;
endmacro;
}
loaddll "tkinfo.dll";
if( hidemarucount >= 3 ) {
#i = 1;
#closecount = 0;
while( #i < hidemarucount ) {
$title = dllfuncstr("Bypass_GetWindowText"
, hidemaruhandle(#i));
if( leftstr($title, 10) == "秀丸メール"
|| leftstr($title, 5) == "新規 "
|| leftstr($title, 5) == "返信 "
|| leftstr($title, 5) == "転送 " ) {
// 閉じない
} else {
#close[#closecount] = hidemaruhandle(#i);
#closecount = #closecount + 1;
}
#i = #i + 1;
}
#i = 0;
while( #i < #closecount ) {
closehidemaru #close[#i];
#i = #i + 1;
}
}
exit;
上記のマクロだと、終了する時に「このメールを保存しますか?」の問い合
わせメッセージが出ると思います。もしもそのメッセージを出さずに即刻破棄
したいということであれば、マクロの最後の「exit;」を「quit;」にすればい
いです。ただし、そういうマクロをEscキーに割り当てるのはちょっと危険か
と思うので、しいてそういう「即刻削除」をさせたいのであれば、Esc以外の
何か押しにくいキーに割り当てた方がいいと思います。
ってことでどうでしょ?
|
|