Autohotkeyでエクセルとテンキーを便利に使う

f:id:pokogen:20200319120813j:plain

Sculpt Ergonomic Desktop Keyboard & Mouse (スカルプト エルゴノミック デスクトップ キーボード アンド マウス) | Microsoft Hardware
日々エクセルで入力するためにこのキーボードのテンキーをカスタマイズして便利に使おうと考えています。

自分にとって必要な機能とは:の入力との入力をテンキーだけで済ませてできればNumlockキーを押さずに前後左右キーを使えるようにすることです。

AutoHotKeyでWindowsやExcelやその他の操作を改善する - Qiita

上記のページを参考にしました。

~NumpadAdd::
  If (A_PriorHotKey == A_ThisHotKey and A_TimeSincePriorHotkey < 300)
  {
    SendInput, {BackSpace 2}
    Send,{U+003a}
 }
Return
*/
~NumpadSub::
  If (A_PriorHotKey == A_ThisHotKey and A_TimeSincePriorHotkey < 300)
  {
    SendInput, {BackSpace 2}
    Send,~
  }
Return

上記のスクリプト+の二連打で:が入力され-の二連打でが入力されます。

このキーに変換するのは単に私が多用する用途があると言うことだけで誰もが必要とするわけではありません。あしからず。

続いて同様の操作を上下左右キーでもやってみたのですがこちらは見事に失敗しました。

理由は直におわかりになると思いますが例えば2の連打が22と打ちたいのかを打ちたいのかを連打の時間間隔で制御するのは実際的では無いからです。

そこで考えてのがこのテンキーだけで完結してNumLockを外して入力、終わったらまたオンにするという方法を避ける方法です。

SetNumlockState, AlwaysOnと宣言しておいてこのキーをホットキーとして使います。

Numlock & numpad8::Send,{Blind}{Up}
Numlock & numpad2::Send,{Blind}{Down}
Numlock & numpad4::Send,{Blind}{Left}
Numlock & numpad6::Send,{Blind}{Right} 
Numlock & numpad9::Send,{Blind}{PgUp} 
Numlock & numpad3::Send,{Blind}{PgUp} 
Numlock & numpad7::Send,{Blind}{Home}
Numlock & numpad1::Send,{Blind}{End} 

以上でお終いですがこちらは片手操作が少し苦しいかな。

~vk08 & numpad8::Send,{Blind}{Up} 
~vk08 & numpad2::Send,{Blind}{Down}
~vk08 & numpad4::Send,{Blind}{Left}
~vk08 & numpad6::Send,{Blind}{Right} 
~vk08 & numpad9::Send,{Blind}{PgUp} 
~vk08 & numpad3::Send,{Blind}{PgUp} 
~vk08 & numpad7::Send,{Blind}{Home}
~vk08 & numpad1::Send,{Blind}{End} 

たまたまBackspaceがテンキー上にあるのでこちらも利用してみました。 こちらには~を付けてくださいね。