【広告】

Amazonブラックフライデーが12月2日まで開催中です!

個人的には、Anker製品か、コカ・コーラがかなり安くなっているのでおすすめです!

高級キーボードで有名な東プレが最近発売した「REALFORCE R3」もセールをやっていました!詳しくはこちらの記事を確認してみてくださーい。

【AutoHotkey】Shift+マウスホイールで横(水平)スクロールしてみよう!Excelで楽々移動!

2021年11月6日AutoHotkey

AutoHotkey のアイコン

この記事では、特定のキーを押しながらマウスホイールした時だけ、縦(垂直)スクロールから横(水平)スクロールにする方法について書きます。

AutoHotkey は最強です。

キーに別の機能を割り当てるソフトAutoHotkey を使うことで、Shift+マウスホイールに横スクロールを割り当てれます。

割り当てることで、Shiftを押してマウスホイールを回転するだけで、横(水平)にスクロールされます。Excel なんかで横に移動したい時に非常に便利です。

動画を貼っておきます。

Shiftは僕が押しやすいからそうしているだけで、コードの書き方さえ合っていれば好きなキーに変更できます。

チルトホイール(ホイールを左右に動かす機能)がついていないマウスでも使えます。

前提

この記事は、既にAutoHotkey をインストールしている前提で書きます。

インストールしていないという場合は、以下の記事を参考にしてみてください。

Shift+マウスホイールに横回転を割り当て

マウスホイールを左右に傾けれるチルトホイールがついているマウスとそうじゃないマウスで書き込むコードが変わってきます。

僕は、以前までチルトホイールがあるマウスを使ってたんですが、今は搭載していないゲーミングマウスを使っています。本当は、チルトホイールがあれば完璧だったんですけどねぇ…。

チルトホイールを搭載しているマウスでのコード

コードは以下のようになっています。

;-----Shift+マウスホイールで水平スクロール-----
+WheelDown::WheelRight
+WheelUp::WheelLeft
Return

これをスクリプトに書き込んでリロードすれば機能します。

Excel だけで機能するようにするには、以下のコードになります。

;-----【Excel】Shift+マウスホイールで水平スクロール-----
#IfWinActive ahk_exe EXCEL.EXE
+WheelDown::WheelRight
+WheelUp::WheelLeft
Return

チルトホイールを搭載していないマウスでのコード

マウスホイールを左右に傾けれないマウスでのコードは以下になっています。

僕の場合はこちらですね。そもそもチルトホイール機能がついているマウスなら、わざわざコードを書かなくても左右に傾ければ動くはずなので、ほとんどの人がこちらのコードになるかと思います。

;-----【Excel以外】Shift+マウスホイールで水平スクロール-----
+WheelUp::		;Shift+マウスホイールで右に動かす
MouseGetPos,,,id, fcontrol,1
;Loop 2
SendMessage, 0x114, 0, 0, %fcontrol%, ahk_id %id%
Return

+WheelDown::		;Shift+マウスホイールで左に動かす
MouseGetPos,,,id, fcontrol,1
;Loop 2
SendMessage, 0x114, 1, 0, %fcontrol%, ahk_id %id%
Return

;-----【Excel】Shift+マウスホイールで水平スクロール-----
#IfWinActive ahk_exe EXCEL.EXE
+WheelUp::		;Shift+マウスホイール上
SetScrollLockState, On
SendInput {Left}	;左に横スクロール
SetScrollLockState, Off
Return

+WheelDown::		;Shift+マウスホイール下
SetScrollLockState, On
SendInput {Right}	;右に横スクロール
SetScrollLockState, Off
Return
#IfWinActive

Excel の時は、ScrollLock をオンにして、左右のキーを入力しているってのがポイントですね。確かに、スクロールロックかかっている時は、矢印キーで左右に移動できますもんね。考えた人天才です。(僕ではないです)

このコードは以下のサイトを参考にさせていただきました。感謝です。

参考:AutoHotkey scrip for horizontal scrolling in excel not working for graphs – Super User

コードを貼ったら、忘れずに保存してスクリプトをリロードしましょう。

Shift+マウスホイールで水平スクロールするコード

あとは、スクリプトが実行している時に、実際にShift+マウスホイールを回転するだけです。上回転の時は左で、下回転の時は右に移動します。

【余談】スクロールスピードを調整する

上記で紹介したコードは、通常のスクロールスピードです。もう少しスクロールスピードを上げたいという方は、上記コードの一部を改造しましょう。

まずは、Excel 以外の水平スクロールスピードを速くしたい人は以下のコードになります。

以下のコードの黄色ハイライト部分;Loop 2」を、「Loop 2」に変更します。「;」を削除することで、コードが機能するようになります。

さらに、「2」の数字を大きくすることでスクロールスピードを速くできます。2なら2倍、3なら3倍のスピードです。

;-----【Excel以外】Shift+マウスホイールで水平スクロール-----
+WheelUp::		;Shift+マウスホイールで右に動かす
MouseGetPos,,,id, fcontrol,1
;Loop 2
SendMessage, 0x114, 0, 0, %fcontrol%, ahk_id %id%
Return

+WheelDown::		;Shift+マウスホイールで左に動かす
MouseGetPos,,,id, fcontrol,1
;Loop 2
SendMessage, 0x114, 1, 0, %fcontrol%, ahk_id %id%
Return

続いて、Excel の水平スクロールスピードを速くするコードです。

{Left} の部分を、 {Left 2} のようにします。半角空白+数字ですね。数字を大きくすると速くなります。

;-----【Excel】Shift+マウスホイールで水平スクロール-----
#IfWinActive ahk_exe EXCEL.EXE
+WheelUp::		;Shift+マウスホイール上
SetScrollLockState, On
SendInput {Left}	;左に横スクロール
SetScrollLockState, Off
Return

+WheelDown::		;Shift+マウスホイール下
SetScrollLockState, On
SendInput {Right}	;右に横スクロール
SetScrollLockState, Off
Return
#IfWinActive

まとめ

以上、AutoHotkey を使って、Shift+マウスホイールに横スクロールを割り当てる方法についてでした。

現在使っているマウスには、チルトホイールがないのでとっても便利です。

この記事で紹介したコードを応用して、Excel だけのスクロール行数を変更する方法についても書いています。詳しくは以下の記事を参考にしてみてください。

参考:【AutoHotkey】Excelだけマウスホイールのスクロール行数を変更する方法 | ナポリタン寿司のPC日記

TweetDeck でも水平スクロールができます。

参考:【AutoHotkey】TweetDeckで横スクロールする方法。チルトホイールなしマウスでもできる! | ナポリタン寿司のPC日記

Posted by ナポリタン寿司