AutoHotKey 私の使い方(1) ー クリップボードの内容をクレンジングする

2023/05/13 12:57 AutoHotKey
AutoHotKey で、クリップボードの内容をクレンジングする動作をキーに割り付ける方法です。
v1.1 系で使っています。
;クリップボード・クレンジング(書式を無効化)
$Esc::
clipboard = %clipboard%
Send, {Esc}
Return


;クリップボード・ファイル名使用禁止文字クレンジング
$Pause::
ctext = %clipboard%
ctext := RegExReplace(ctext, """", "''")
ctext := RegExReplace(ctext, "“", "''")
ctext := RegExReplace(ctext, "\\", "¥")
ctext := RegExReplace(ctext, "/", "/")
ctext := RegExReplace(ctext, ":", ":")
ctext := RegExReplace(ctext, "\*", "*")
ctext := RegExReplace(ctext, "\?", "?")
ctext := RegExReplace(ctext, "<", "<")
ctext := RegExReplace(ctext, ">", ">")
ctext := RegExReplace(ctext, "\|", "|")
ctext := RegExReplace(ctext, " ", "_")
ctext := RegExReplace(ctext, "!", "!")
ctext := RegExReplace(ctext, "&", "&")
ctext := RegExReplace(ctext, "~", "~")
ctext := RegExReplace(ctext, "~", "~")
ctext := RegExReplace(ctext, "\+", "+")
ctext := RegExReplace(ctext, "“", "''")
ctext := RegExReplace(ctext, "\-", "ー")
ctext := RegExReplace(ctext, "\(", "(")
ctext := RegExReplace(ctext, "\)", ")")
Send, {Pause}
clipboard = %ctext%
Return

上の例だと、 Esc キーで書式を無効化し、 Pause キーでファイル名として使えない(・使いたくない)文字列を置換します。
元のキーも送出するので、本来の動作(一太郎の Esc メニューなど)も行われます。