AHK: 選択した文字列を括弧(【】、「」、『』[]等)で挟む

先日のほんまかいで、ちょっと思いついてcodeを書いてみましたので紹介したいと思います。

何をするものかというと、無変換キーと、”[”を押すと、以下の様なメニューが表示されます。

メニューには幾つも項目がありますが、

  • 上半分程が、全角の括弧の開くと閉じるを入力後キャレットを括弧の真ん中に移動するというもの、
  • 下半分が、選択された文字列を、様々な括弧で囲むというものです。

CATツールでも、メーラーでも、何にでも利用できるというのはやっぱり良いですね。

以下は、そのコードです。

; メニューの作成
;Menu, メニューのID, Add, メニュ―のテキスト, 発動するコマンド名
Menu, kakko, Add, 【】を挿入, Command1
Menu, kakko, Add, 「」を挿入, Command2
Menu, kakko, Add, 『』を挿入, Command3
Menu, kakko, Add ;スペーサーの追加
Menu, kakko, Add, 【】で挟む, Command4
Menu, kakko, Add, 「」で挟む, Command5
Menu, kakko, Add, 『』で挟む, Command6
Menu, kakko, Add, []で挟む, Command7
Menu, kakko, Add, ()で挟む, Command8
Menu, kakko, Add, ""で挟む, Command9
return
;-----------------------------
;各メニューアイテムが選択された際の動作
Command1:
Send 【】{left 1}
return

Command2:
Send 「」{left 1}
return

Command3:
Send 『』{left 1}
return

Command4:
clipboard =
Send ^c
ClipWait
Send 【%clipboard%】
clipboard =
Return

Command5:
clipboard =
Send ^c
ClipWait
Send 「%clipboard%」
clipboard =
Return

Command6:
clipboard =
Send ^c
ClipWait
Send 『%clipboard%』
clipboard =
Return

Command7:
clipboard =
Send ^c
ClipWait
Send [%clipboard%]
clipboard =
Return

Command8:
clipboard =
Send ^c
ClipWait
Send (%clipboard%)
clipboard =
Return

Command9:
clipboard =
Send ^c
ClipWait
Send "%clipboard%"
clipboard =
Return
;-----------------------------
;メニューの表示: 無変換キー & [
vk1Dsc07B & [::Menu, kakko, Show

最後の行の”vk1Dsc07B & [::Menu, kakko, Show”がメニューを表示させるところです。
このコードの”vk1Dsc07B & [“が無変換キーと”[“のショートカットキーを表しています。

ここを変えることによって、別のキーコンビネーションに同様の機能を割り当てることができます。