風来坊@真幸福知

風来坊@真幸福知

始まりは坐禅会のご案内, 思いつくことを何でも書いていたら星空系に... Started with Zazen session info. now almost astrophotos. 시작이 참선회 안내, 이제 별하늘 사진들.

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

<一件落着御礼>

追記(2022/4/5): いつの間にかこれが効かなくなってた

最近この横スクロールが効かなくなっていた.

"C:\Users\<ユーザー名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"の中に置いておいたスクリプトをダブルクリックすると, 聞くようになる.

スタートメニューのAutoHotKeyの中に, "Convert .ahk to .exe"というのがある. ahkスクリプトをexeに変えてくれるらしい. これを実行したら, Startupフォルダの中に.exeファイルができた.

その後リスタートすると, 効くようになった. なにか「仕様変更」でStartupフォルダの中の.ahkスクリプトが起動時に実行されなくなったのかもしれない??