南極の図書館

ペンギンが寝ていた…。

excelの「形式を選択して貼り付け」→「値」をautohotkeyでCtrl+eに割り当てる

「値の貼り付け」は、excelで使用頻度が高い割に面倒なアクションをさせられる代表格だ。
ボタンを作ってマクロで実装するのが一般的かもしれないが、やはりマウスでボタンを押すよりもキーボードのみで実行したい。
なお、ついでにちょっと面倒に思っていた「コメントの削除」も入れてみた。


以前のSandS(Space and Shift)をautohotkeyで実装した。 - holyppの日記と合わせてこんな感じに。

使ってみたら思った以上にいい感じ。
autohotkeyは朝に一度立ち上げてそのまま放置するだけなので、明日からも使ってみる。
キーは好みだと思うが、私はCtrl+eで「値のみ貼り付け」、Ctrl+mで「コメントのみ削除」の動作とした。
理由は、貼り付けは左手だけで行いたかったから。Ctrl+mは他に余っているものがなかったので仕方なく。

#ifWinActive,ahk_class XLMAIN
^e:: ; pastE_only_value : Ctrl+e→Alt+e,s,v,enter
send,!e
sleep,100
send,s
sleep,100
send,v
sleep,100
send,{enter}
return

^m:: ;delete_coMent : Ctrl+m→Alt+e,a,m
send,!e
sleep,100
send,a
sleep,100
send,mreturn
#ifWinActive

#ifWinActive,ahk_class Vim
Space Up:: Send, % "{Shift Up}" (A_TimeSincePriorHotkey < 200 ? " " : "")
+Space:: Send, +{Space}
>+Space:: Return
Space:: RShift
#ifWinActive


単純にショートカットを押していくだけ。
ディレイ無しではサイズの大きいファイルを編集してる場合などに上手く動かなかったため、念のためsleep,100を入れた。
そのせいで見栄えが悪くなったのが残念、もっと良い書き方を考えなければ。