説明
WheelConverter は、Excel VBAのユーザーフォーム非対応であるマウスホイールによるスクロール操作を可能にするツールです。
配布
特徴
UserForm / Frame / MultiPage の各種コントロールに対してマウスホイールによるスクロールが有効になります。
仕組み
別プロセスの不可視Excelでグローバルメッセージフックを登録
↓
マウスホイールのメッセージをキャプチャ
↓
MouserDownメッセージに変換して送信
↓
WheelReceiverクラスに定義したコントロールのMouseDownイベントが発火
↓
コントロールのイベントプロシージャ内でScrollTop/ScrollHeightを変更
導入方法
WheelConverter.xlamをアドイン登録
↓
ユーザーブックに clsWheelReceiver をコピー
↓
フォームの初期化イベントで以下を呼び出し
Private WR As New clsWheelReceiver
Private Sub UserForm_Initialize()
WR.OpenWheelConverter Me
End Sub
注意
別プロセスの不可視Excelおよびグローバルメッセージフックを停止するには、
mdl別プロセス制御モジュールの不可視プロセス終了を実行してください。
メモリが心許ない環境だとシステムが不安定になる恐れがあります。
備考
別プロセスのExcelを取得するためのコードはこちらを利用させていただきました。
https://www.excel-chunchun.com/entry/enumwindows-excel-vba
本当にありがとうございます。