風来坊@真幸福知

出雲市 福知寺 行事ご案内 坐禅会 日記 テクノロジー English Zazen session technology Korean 한국어 참선 묵조선 텍놀로지

MS Office 2016 : Shift+マウスホイールで水平スクロールを〜

たぶんMS Office 2013くらいからか, Shift+マウスホイールで水平スクロールという機能が無くなってしまった. なんかWindowsタブレットのOSに似た感じになったタイミングで落とされてしまったような気がするが, Excelで幅の広い表を扱ったりPowerPointで込み入った絵を描いたりするときに便利でよく使っていた人としてはとても不便 (ちなみにLibreOfficeでは昔からずっとある機能).

MS名物「これが仕様です」(ユーザーは与えられたものを有りがたく頂くように)かぁ〜orzとあきらめていたが, AutoHotkeyというソフトを使ってできるらしいことが分かった. 探すといくつかそのためのスクリプトが出てきたが, 試行錯誤の末にWord, Excel, PowerPointで水平スクロールができるようになった.

1. AutoHotkey 1.1をダウンロードしてインストール.  (ここから => https://autohotkey.com/download/)

2. 以下のスクリプトをテキストファイルに保存して"ms-office-hscroll.ahk"などの名前にする. (拡張子を".ahk"にしておく) それを"startup"フォルダに保存.

Windows10ではstartupがややこしい場所にある. エクスプローラのView設定でHidden items(隠しファイル?)を表示するようにしておき, 以下の場所に行く. (AppDataがHidden File)

"C:\Users\<ユーザー名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

次に起動するときにスクリプトが読み込まれると, 水平スクロール機能が有効となる.

動作することを予め確認しておくほうがいいかも(起動時に変なトラブルにならないように). 上で保存した*.ahkファイルをダブルクリックすればスクリプトが実行される. それからWordやExcelPowerPointで何かファイルを開き, ページ幅がウィンドウからはみ出すくらい拡大しておいて"Shift+マウスホイール"をやってみる. 水平スクロールすればOK.

スクリプトは以下の通り.

;---START------
SetTitleMatchMode, 2

#IfWinActive, PowerPoint
~Lshift & WheelUp::ComObjActive("PowerPoint.Application").ActiveWindow.SmallScroll(0,0,0,3)
~Lshift & WheelDown::ComObjActive("PowerPoint.Application").ActiveWindow.SmallScroll(0,0,3,0)

#IfWinActive, Word
~Lshift & WheelUp::ComObjActive("Word.Application").ActiveWindow.SmallScroll(0,0,0,3)
~Lshift & WheelDown::ComObjActive("Word.Application").ActiveWindow.SmallScroll(0,0,3,0)

#IfWinActive, Excel
~LShift & WheelUp:: ; Scroll left.
SetScrollLockState, On
SendInput {Left}
SetScrollLockState, Off
Return
~LShift & WheelDown:: ; Scroll right.
SetScrollLockState, On
SendInput {Right}
SetScrollLockState, Off
;---END----

参考にしたWebページ:

Horizontal Scrolling Powerpoint mouse wheel - Page 2 - Ask for Help - AutoHotkey Community

AutoHotkey scrip for horizontal scrolling in excel not working for graphs - Super User

<一件落着御礼>