How can I get the mousewheel working in the VBA editing window?

Article contributed by Jonathan West

The short answer is "Because sometimes Microsoft's right hand doesn't know what it's left hand is doing."

The longer version is that when Microsoft first produced mice with wheels, they also invented a new kind of message in Windows, called WM_MOUSEWHEEL, which software developers could use to detect movements of the mouse wheel. Microsoft's Intellipoint mouse driver software generates these messages. But of course, in those early days, no software knew what to do with WM_MOUSEWHEEL messages, so Microsoft had the early versions of Intellipoint also generate WM_SCROLL messages, which were already defined, and which would result in windows being scrolled. But current versions of Intellipoint don't do this any more.

I believe that the idea was that software companies would be told about this, and so would have time to sort out their software and issue updates that knew how to cope with WM_MOUSEWHEEL messages by the time Microsoft made the change. Unfortunately, they either forgot to tell the people responsible for the VBA editor, or those responsible never got round to making the necessary changes.

However there is a workaround, in the form of utilities that detect WM_MOUSEWHEEL messages and generate the matching WM_SCROLL messages.

I personally use VBScroll, a handy little free utility that gets the mousewheel working in the VBA editor. It works in the VBA editor for all the Office application (not just Word) and also in VB5 and VB6. You can download it from the following location.

http://www.gasanov.net/VBScroll.htm

Another Word MVP uses FreeWheel, which does the same job, and can be downloaded from here.

http://www.geocities.com/SiliconValley/2060/freewheel.html


Click to view Terms of Use page

Click to view Disclaimer page