- ベストアンサー
秀丸マクロで検索文字を文末まで置換
- 秀丸エディタのマクロを使って、検索した文字を文末まで置換する方法について教えてください。
- マクロを実行すると、検索した文字の一行下の行にコピーしたデータを貼り付け、同じ処理を文末まで繰り返すことができます。
- しかし、検索文字がなくなった時点で処理がストップされず、以降の行全てにコピー&ペーストの処理が繰り返されてしまいます。マクロをどのように組めば解決できるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下のようにしてください ---------------------------------------------------- setcompatiblemode 15; //ファイルの先頭へ移動(カーソルがどこにあっても良いようにするため) gofiletop searchdown "検索文字" , hilight; while(1){ if (result == 0) { break;} //行頭へ移動(しないと正しくコピーできない) golinetop; down 1; copyline; paste; finddown; } ------------------------------------ 不明点は、聞いてください。動作確認済みです。
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
searchdownの実行のあとの行で、検索対象が見つかったかどうかを チェックすればよいのでは? マクロヘルプから 成功したかしなかったかによって結果コードを返します。結果コードはresultキーワードで参照することができます。 成功した場合は1(TRUE)になり、失敗した場合は0(FALSE)になります。
お礼
マクロヘルプを見て以下に書き換えてみましたが上手くいきません。 while文を使うのでしょうか。どのような文になるのでしょうか。 searchdown "検索文字/" , hilight; down 1; copyline; paste; finddown; if( result == 0 ) { endmacro; }
補足
マクロの文の組み方がわかりません。 今回の場合、どのような文になるのでしょうか。 因みに先ほどの文で記載間違いがあったので訂正させていただきます。 finddown;の後の } が入ります。 以上、よろしくお願いします。
お礼
助かりました!ありがとうございます!\(^o^)/