November 30 2018: The latest monthly Office 365 updates include an option to lock the zoom level.
I get quite a few complaints from people who say their fonts are tiny (or huge) or the font used for the reply shrinks yet Microsoft Outlook shows they are using a normal size font (such as 10 or 12 pt). Outlook users with high resolutions screens may have a problem reading incoming emails.
This is caused by the Zoom setting.
Lock the Zoom level in Outlook 365
If you are an Office 365 subscriber, you can now set Outlook to remember your zoom level.
To lock the zoom level reading messages, open the Zoom While Reading dialog and tick the box to Remember my preference.
You can open the Zoom while reading dialog by clicking on the zoom % in the status bar or look for the Zoom button on the Message menu in an opened message.
Then tick the box to remember your preference.
Zoom Is On When Reading Mail
When your incoming email is zoomed, the easiest fix is to hold Ctrl as you roll the mouse wheel (this is the likely cause for many people).
Keyboarders can use the Ctrl and plus (+) or minus (-) keys to change the zoom level in increments or Ctrl and the zero (0) key to go to 100%. Note: these keyboard shortcuts do not work in Outlook 2013/2016.
You can also click the Zoom button in the ribbon and set it back to 100%.
Click the button in the ribbon to open the zoom dialog and select the desired zoom level.
Outlook 2010, 2013, and 2016 have a zoom slider in the main Outlook window status bar (on the right side). Use this slider to adjust the zoom in the reading pane.
If you prefer, you can click on the zoom % (100% in the screenshot) to open the zoom dialog.
Note that changing the zoom setting is not persistent for reading messages. To make the zoom level persistent, you need to use an add-in or a macro. A list of zoom tools is in the Tools Section and a macro is at the end.
When Composing Message, Zoom Is Always On
Many times, when you make the change to a message you are composing and send it, the next message you compose reverts to the goofy zoom setting. This is because making changes to a message then sending the message applies the changes to that message only. If you make the changes then close the message, it should apply the changes to all future messages.
When zoom is stuck on a value (usually a tiny font), you can reset it by changing the zoom level then closing, but not sending, the message. If you change the zoom level then send, the change applies only to the message you changed, not to future messages.
In Outlook 2016, the Zoom button is on the Format Text ribbon.
In Outlook 2010 and 2013, the Zoom button is on the Message tab when composing (or reading) a message.
- Open a new message
- Click the Zoom button on the ribbon
- Change the zoom to the desired level
- Close the message.
- Click new message (or reply) and the zoom should be the desired level.
Tools in the Spotlight
The Zoom Email Windows tool for Outlook automatically zooms all Outlook reading pane windows. It zooms every Outlook window to your specified zoom factor. It's perfect for being able to instantly and clearly see the email and other Outlook windows. |
Tools
ZoomIn can save your preferred Outlook email zoom setting. |
Zoom in either Open Messages or Reading Pane
While the zoom level is persistent when you change it in the compose mail window, it's not persistent when you change it for incoming messages.
This macro requires the use of Redemption (Developer Edition).
You need to set a reference to the Microsoft Word Object Library in the VBA's Editor. It's under Tools, References. If it's not set, you'll get a Compile Error: User-defined type is not defined.
To use with the reading pane, you need to disable conversation view.
See "How to use Outlook's VBA Editor" for instructions and screenshots.
Option Explicit Dim WithEvents objInspectors As Outlook.Inspectors Dim WithEvents objOpenInspector As Outlook.Inspector Dim WithEvents objMailItem As Outlook.MailItem Dim WithEvents myOlExp As Outlook.Explorer Dim sExplorer As Object Dim Document As Object Dim Msg 'Sets the zoom to the same value ' To use different values, replace msgzoom with the number ' in openinspector and selectchange macros Const MsgZoom = 200 Private Sub Application_Startup() Set objInspectors = Application.Inspectors Set myOlExp = Application.ActiveExplorer Set sExplorer = CreateObject("Redemption.SafeExplorer") End Sub Private Sub Application_Quit() Set objOpenInspector = Nothing Set objInspectors = Nothing Set objMailItem = Nothing End Sub Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector) If Inspector.CurrentItem.Class = olMail Then Set objMailItem = Inspector.CurrentItem Set objOpenInspector = Inspector End If End Sub Private Sub objOpenInspector_Close() Set objMailItem = Nothing End Sub Private Sub objOpenInspector_Activate() Dim wdDoc As Word.Document Set wdDoc = objOpenInspector.WordEditor wdDoc.Windows(1).Panes(1).View.Zoom.Percentage = MsgZoom End Sub Private Sub myOlExp_SelectionChange() On Error GoTo ErrHandler: Set Msg = Application.ActiveExplorer.Selection(1) Application.ActiveExplorer.RemoveFromSelection (Msg) Application.ActiveExplorer.AddToSelection (Msg) sExplorer.Item = Application.ActiveExplorer Set Document = sExplorer.ReadingPane.WordEditor Document.Windows.Item(1).View.Zoom.Percentage = MsgZoom Exit Sub ErrHandler: Exit Sub End Sub
Zoom in Reading Pane or Open Message Video Tutorial
Not shown in the video: You need to set a reference to the Microsoft Word Object Library in the VBA's Editor. It's under Tools, References. If it's not set, you'll get a Compile Error: User-defined type is not defined..
Set the Zoom Level in Open Messages
You can use VBA to force the zoom level when you read incoming email in Outlook 2007 or newer, or when using Outlook 2003 with Word set as the email editor. Don't forget to set the desired zoom level in this line:
wdDoc.Windows(1).Panes(1).View.Zoom.Percentage = 150
This macro goes in ThisOutlookSession.
You need to set a reference to the Microsoft Word Object Library in the VBA's Editor. It's under Tools, References. If it's not set, you'll get a Compile Error: User-defined type is not defined.
Option Explicit Dim WithEvents objInspectors As Outlook.Inspectors Dim WithEvents objOpenInspector As Outlook.Inspector Dim WithEvents objMailItem As Outlook.MailItem Private Sub Application_Startup() Set objInspectors = Application.Inspectors End Sub Private Sub Application_Quit() Set objOpenInspector = Nothing Set objInspectors = Nothing Set objMailItem = Nothing End Sub Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector) If Inspector.CurrentItem.Class = olMail Then Set objMailItem = Inspector.CurrentItem Set objOpenInspector = Inspector End If End Sub Private Sub objOpenInspector_Close() Set objMailItem = Nothing End Sub Private Sub objOpenInspector_Activate() Dim wdDoc As Word.Document Set wdDoc = objOpenInspector.WordEditor wdDoc.Windows(1).Panes(1).View.Zoom.Percentage = 150 End Sub
Zoom Macro Video Tutorial
How to use the macro
First: You will need macro security set to low during testing.
To check your macro security in Outlook 2010 and up, go to File, Options, Trust Center and open Trust Center Settings, and change the Macro Settings. In Outlook 2007 and older, it’s at Tools, Macro Security. If Outlook tells you it needs to be restarted, close and reopen Outlook. Note: after you test the macro and see that it works, you can either leave macro security set to low or sign the macro.
Now open the VBA Editor by pressing Alt+F11 on your keyboard.
To use the macro code in ThisOutlookSession:
- Set your macro security to Low in File, Options, Trust Center, Trust Center Settings, Macro Settings.
- Open the VB editor using Alt+F11
- Expand Project1 and double click on ThisOutlookSession.
- Copy then paste the macro into ThisOutlookSession. (Click within the code, Select All using Ctrl+A, Ctrl+C to copy, Ctrl+V to paste.)
- Set a reference to Microsoft Word in Tools, References
- Click in the Application_Startup macro and press the Run button to kick start it without restarting Outlook.
Application_Startup macros run when Outlook starts. If you are using an Application_Startup macro you can test the macro without restarting Outlook by clicking in the first line of the Application_Startup macro then clicking the Run button on the toolbar or pressing F8.
More information as well as screenshots are at How to use the VBA Editor.
Thanks SO MUCH!
Been dealing with GIANT fonts on emails as I compose them, for at least a week. I am so glad things are back to normal!
My Zoom speak is on but when I pull up an email it won't read it. How do I fix?
I'm not sure what you mean by Zoom speak. Is that Zoom the meeting app or Outlook's Zoom setting for messages?
I composed a mailer and sent to users. By default viewer opens the mail @ zooms 100%.
When we view the mail @ 100% i am getting a black thin line on the left (have attached reference image)
@ 90% i don't see any issue. i usually face these kind when the mailer with heavy content.
I used tables to build the content.
Please help if anyone find a solution.
Regards
Utham
Could it be the border on your table?
It used to work last year for me but now it is not. I suspect some MS update may have broken it. I have tried both macros above and neither work now.
hi
if you have used licenced 365 app then
open 365 > view>view settings>other settings>column fond change to 12 --
change row fond to 12 >
okk
close then look the right corner % right click you can see the tab "Remember my preference "
Row Settings changes the message list font (which you can also change using Automatic formatting). It does not affect the text size in messages in the reading pane (or opened).
Remember my preferences applies to the reading pane/open message zoom level.
But how does it work on a Mac and why can't Microsoft make things the SAME for PC and Mac?
The macro does not work on mac - word and excel support VBA but outlook does not.
It's hard to make the programs identical when the OS is so different. :(
Excellent and simple. Thank you.
Has anyone found a solution - that works - to the annoying Zoom feature of Outlook 2013 ?
I want to set a default but cannot. Tried downloading a couple of third party fixes that didn't work. Not really willing (or able) to resurrect my VBA skills from the 1990s
Any help would be appreciated.
in 2013, you are limited to the addins or vba - you don't really need to know VBA as the macro here should work right out of the box. Sorry. :(
Hello Diane,
Thanks for your response.
I followed your steps and did copy/paste the macro code into the directory specified..
Have I missed something ?
Dave
Sorry I missed his earlier - that should be all you need to do.
Ye ! This Is A Good Blog!