• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:秀丸マクロ =検索文字を文末まで置換=)

秀丸マクロで検索文字を文末まで置換

このQ&Aのポイント
  • 秀丸エディタのマクロを使って、検索した文字を文末まで置換する方法について教えてください。
  • マクロを実行すると、検索した文字の一行下の行にコピーしたデータを貼り付け、同じ処理を文末まで繰り返すことができます。
  • しかし、検索文字がなくなった時点で処理がストップされず、以降の行全てにコピー&ペーストの処理が繰り返されてしまいます。マクロをどのように組めば解決できるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

以下のようにしてください ---------------------------------------------------- setcompatiblemode 15; //ファイルの先頭へ移動(カーソルがどこにあっても良いようにするため) gofiletop searchdown "検索文字" , hilight; while(1){ if (result == 0) { break;} //行頭へ移動(しないと正しくコピーできない) golinetop; down 1; copyline; paste; finddown; } ------------------------------------ 不明点は、聞いてください。動作確認済みです。

hdddvd
質問者

お礼

助かりました!ありがとうございます!\(^o^)/

その他の回答 (1)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

searchdownの実行のあとの行で、検索対象が見つかったかどうかを チェックすればよいのでは? マクロヘルプから 成功したかしなかったかによって結果コードを返します。結果コードはresultキーワードで参照することができます。  成功した場合は1(TRUE)になり、失敗した場合は0(FALSE)になります。

hdddvd
質問者

お礼

マクロヘルプを見て以下に書き換えてみましたが上手くいきません。 while文を使うのでしょうか。どのような文になるのでしょうか。 searchdown "検索文字/" , hilight; down 1; copyline; paste; finddown; if( result == 0 ) { endmacro; }

hdddvd
質問者

補足

マクロの文の組み方がわかりません。 今回の場合、どのような文になるのでしょうか。 因みに先ほどの文で記載間違いがあったので訂正させていただきます。 finddown;の後の } が入ります。 以上、よろしくお願いします。 

関連するQ&A