[AHK] 範囲指定した文字列をWクォーテーションで括る

SNSで「範囲指定した文字列の前後にダブルクォーテーションを付けて貼り付る」ためのAHKスクリプトの質問がありました。

; Alt + Q でダブルクオテーションマークを前後に付与する
!Q::
Send, ^c
Clipboard = "%Clipboard%"
Send, ^v
Return

何のエラー対策もしていませんが、取りあえず必要な機能は実現していると思います。文字列を範囲指定して Alt + Q を押すと、範囲指定した文字列の前後にダブルクォーテーションが付きます。

やっていること:

  1. Ctrl + C を送信し、範囲指定している文字列をクリップボードに入れます。
  2. クリップボードの内容の前後にダブルクォーテーションを付けて、クリップボードに戻します。
  3. Ctrl + V を送信し、クリップボードの内容を範囲指定している文字列へ上書きします。

実用的なスクリプトにするには、「範囲指定文字列が無い時の処理」と「元々入っていたクリップボードの内容のバックアップと復元」ですかね。ダブルクォーテーションをカギ括弧や丸括弧にしても役立ちそうですね。

お試しください。