|
秀丸エディタv8.03b1 です。
マクロが全くわかっていないのでうまく動きません。助言をいただきたくお
願いします。
ある文字列を含む行をごっそり削除して保存しなおしたいのです。
具体的には秀丸メールのFilter.logから spam の文字列のある行を全部削除
したいと思っています。
("spam"の文字列は振り分け条件などに指定してあるので、記録されます)
$path = "D:\\Programs\\秀丸メールData\\filterlog.txt";
openfile $path;
replaceallfast "^.*spam.*\\n" , "" , regular;
saveexit;
まず上記で快適に削除されました。
そこで、画面が表示されないようにしたく
openfile "/h " + $path;
と変更しましたが、 (無題) というウィンドウが残って終了してしまいまし
た。
closehidemaruで終了してあげなければならないのかな?と、次のようにし
てみましたが findhidemaru でうまく「番号」が取得できません。
$path = "D:\\Programs\\秀丸メールData\\filterlog.txt";
openfile "/h " + $path;
#a = findhidemaru( $path );
if( #a == -1 ) message "findhidemaru の取得失敗です。";
message "#a は " + str( #a ) + " です。";
replaceallfast "^.*spam.*\\n" , "" , regular;
closehidemaru #a;
if( !result ) message $path + " の終了失敗です。";
endmacro;
※message 文はどこで失敗してるか確認するために入れているだけで、うま
く動けば削除するつもりです。
おそらくとんでもない勘違いをしているのだと思いますが、ヘルプを一生懸
命読んだのですがお手上げです。
画面表示をせずにマクロを走らせ、終了するにはどうしたらいいのでしょう
か。
そもそも、findhidemaruなどを使わずにスマートな方法があったら教えて下
さい。
|
|