I would take TECHIE007's answer a step further, by adding the following code to a module in Normal.dotm:
Const FineZoom As Double = 5
Const CoarseZoom As Double = 25
Const MaxZoom As Double = 500
Const MinZoom As Double = 10
Sub ZoomInFine()
With ActiveWindow.View
If .Zoom <= (MaxZoom - FineZoom) Then .Zoom = .Zoom + FineZoom
End With
End Sub
Sub ZoomOutFine()
With ActiveWindow.View
If .Zoom >= (MinZoom + FineZoom) Then .Zoom = .Zoom - FineZoom
End With
End Sub
Sub ZoomInCoarse()
With ActiveWindow.View
If .Zoom <= (MaxZoom - CoarseZoom) Then .Zoom = .Zoom + CoarseZoom
End With
End Sub
Sub ZoomOutCoarse()
With ActiveWindow.View
If .Zoom >= (MinZoom + CoarseZoom) Then .Zoom = .Zoom - CoarseZoom
End With
End Sub
To do this, open a blank document in Word, and then:
- Open the VBA Editor by pressing Alt+F11
- Find "Normal" in the Project Explorer, right-click, then select 'Insert' and 'Module'
![VBA snip](../../I/static/images/467c969f12bebf9e3c4601b44589f429f8daf17a75a9b032f55109f0f5c80570.png)
- Copy and paste the above code into the newly-created, blank code module.
- Save the VBA code (Ctrl+S) and close the VBA Editor
Using TECHIE007's instructions, I then would bind:
ZoomInCoarse
to Ctrl+Shift+Numpad +
ZoomOutCoarse
to Ctrl+Shift+Numpad -
ZoomInFine
to Ctrl+Alt+Shift+Numpad +
ZoomOutFine
to Ctrl+Alt+Shift+Numpad -
This form of the code allows a tunable rate of zoom, with automatic detection of zoom limits to avoid VBA runtime errors. If the fine and/or coarse zoom rates, or the zoom limits, are not to one's liking, they can readily be changed.
The behavior could be further customized by, e.g., adding macros that set particular favorite levels of zoom and binding shortcut keys.
1ALT WQE [some number] enter.. but that is horrible. Apparently no native shortcut exists for zoom in/ zoom out – Matt – 2015-01-02T16:25:07.283