テキストエディタ以外でも置換するAutoHotkeyスクリプト

ブログの記事はウェブブラウザ上の入力欄を使って作成しています。そうすると、ページ内の文字列検索はできても、文字列置換はできないんですよね。

■サンプルスクリプト

a::
Gui,Add,Edit,V検索文字列 Multi
Gui,Add,Edit,V置換文字列 Multi
Gui,Add,Radio,V回数 Checked,1つだけ置換
Gui,Add,Radio,,全て置換
Gui,Add,Button,G置換開始 Default,置換
Gui,Show
Return

置換開始:
Gui,Submit
Gui,Destroy
Backup := ClipboardAll
Clipboard =
Send,^a^c
ClipWait,1
StringReplace,検索文字列,検索文字列,`n,`r`n,All
StringReplace,置換文字列,置換文字列,`n,`r`n,All
StringReplace,Clipboard,Clipboard,%検索文字列%,%置換文字列%,% (回数 = 2) ? "All" : ""
Send,^v
Sleep,50
Clipboard := Backup
Return
単にコピーして、文字列をStringReplaceで置換して、貼り付けるだけ。これでどこでも置換機能が使えます。

複数行を一気に置換できるよう、入力欄のGui,Add,EditにMultオプションを付けています。Multオプションを付けると`n区切りでGui,Submitされますが、実際の改行は`r`nなので、StringReplaceで置換しています。

関連記事
カテゴリ:アイデア




はじめまして
ちょっと前から MouseGestureL.ahkを使うようになった者です。
せっかくだからAutoHotkeyも少しでも理解できればと思い、とても分かりやすい、こちらのサイトを読ませて頂いています。

・無変換キーを使ってキーを集結させるAutoHotkeyスクリプト
・IMEがOFFのまま入力した日本語をIMEをONにして入力し直すAutoHotkeyスクリプト
・AutoHotkeyでスタートアップ管理
等々、ほぼそのまま使わせて頂いているスクリプトもいくつかあります^^

こちらの置換スクリプトに関して教えて下さい。
導入することで置換はできるようになり、それだけでも重宝できそうですが、複数行の置換に対応する形にするには、どこをカスタマイズすればいいでしょうか?
Wikiやリファレンスなどの関連しそうな所を読んで試行してみたのですが、うまくいかないので思い切って質問させて頂きました。

十分にお時間のある時で構いませんので、見て頂ければ幸いです。
よろしくお願いします。

2013-12-10 00:01 カタクリ 

>カタクリさん
ご利用頂きありがとうございます。AutoHotkeyユーザが増えると嬉しくなりますね。

ご質問については、サンプルスクリプトを複数行置換できるよう変更しましたので、お試しください。

2013-12-10 17:18 元プログラマ 

こんなに早く対応して頂いて感謝申し上げます。
複数行の置換できました!

Multiを使うのかなという点は合っていたのですが、それ以上のことはもっと勉強しないといけないです。
この機能を売りにしているフリーソフトもあるので、AutoHotkeyでできてしまうというのは、改めてすごいツールですよね。
私はまだまだですが…

自分の使い方だとGUIが最前面表示されていた方がやりやすいので、その点だけ加えました。
長く使わせて頂くスクリプトになると思います。

こちらのサイトの各記事にじっくり目を通して、少しでも理解できるように…と考えております。
どんなスクリプトでも参考になると思うので、これからも更新を楽しみにしています。

改めて、このたびはありがとうございました。

2013-12-11 02:04 カタクリ