Please Note: This article is written for users of the following Microsoft Word versions: 2007 and 2010. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Automatically Opening a Document at a Specific Zoom Setting.

Automatically Opening a Document at a Specific Zoom Setting

by Allen Wyatt
(last updated February 28, 2020)


Unfortunately, Word does not have a setting you can use to specify a default "open" zoom level for your documents. (This would be very nice—Redmond, are you listening?) This means that documents open at the zoom level used when the document was originally saved.

One way to work around this is to create an AutoOpen macro, and then save it in the Normal template. This macro is then automatically run whenever a document based on the template is opened. Since every document has access to the Normal template, every document will have access to the macro.

To make the change, simply open the Normal template file directly and then create your macro, as follows:

Public Sub AutoOpen()
    ActiveWindow.ActivePane.View.Zoom.Percentage = 200
End Sub

Notice that in this very short macro the zoom level is set to 200, which means 200%. If you want some other default zoom level, simply change the value to the desired percentage. Now save and close your Normal template, and exit Word. When you restart Word and open your other files, they should change to the specified zoom level automatically.


If you would like to know how to use the macros described on this page (or on any other page on the WordTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (11024) applies to Microsoft Word 2007 and 2010. You can find a version of this tip for the older menu interface of Word here: Automatically Opening a Document at a Specific Zoom Setting.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...


A Picture Is Worth a Thousand Words

Nothing beats a screen shot when you are trying to convey information about using the computer. With just a couple of ...

Discover More

Relative Worksheet References

Copy a formula from one place to another and Excel helpfully adjusts the cell references within the formula. That is, it ...

Discover More

Creating a Copy without Formulas

Excel makes copying worksheets (duplicating them) rather easy. However, you may want a worksheet copy that differs from ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

More WordTips (ribbon)

A Shortcut for Switching Focus

Word provides keyboard shortcuts for lots of things, but it doesn't provide one for switching to the desktop and back to ...

Discover More

Adjusting the Size of Ribbon Icons

Do you feel like the icons on the ribbon take too much screen space? Your options in reducing that "icon footprint" may ...

Discover More

Finding Default Shortcut Keys

There are scores of shortcut keys defined in Word. If you want to discover what all those shortcut keys are, here are a ...

Discover More

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.


If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 9 - 1?

2020-11-03 13:08:19


No easy, simple default zoom setting. Mind boggling!
And no default print setting so you can make the default print job a single page and avoid accidentally printing 100 pages.
Microsoft products are an indescribable POS! And yet they own the world.

2020-03-02 09:24:44


Peter (and Edward too) -

It is probable that you are opening the document in protected mode--perhaps it was attached to an email?

Word calls AutoOpen twice in these cases, once when the document is first opened as a protected document, and a second time when editing is enabled on it. The window types (which is how the zoom level is adjusted) are different in each case, so they have to be handled differently. Here is a macro I call from AutoOpen to set the zoom level the way I like it:

Sub PageWidthIt()
If Not ActiveProtectedViewWindow Is Nothing Then ' Document is Protected.
If ActiveProtectedViewWindow.WindowState = wdWindowStateMaximize Then
ActiveProtectedViewWindow.Document.ActiveWindow.ActivePane.View.Zoom.Percentage = 150
ActiveProtectedViewWindow.Document.ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
End If
Else ' Document is Not Protected
If ActiveWindow.WindowState = wdWindowStateMaximize Then
ActiveWindow.ActivePane.View.Zoom.Percentage = 150
ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
End If
End If
End Sub

2020-02-28 11:50:56

peter roth

Allen -
Re the AutoOpen macro, in what module should it be stored in order to work?
I put it in an AutoOpen Module. It failed.

2018-02-14 13:58:12

Edward Wood

I have successfully created this macro into my WinWord 2016. It works just fine when I am creating a new document. But when I try to import an already created document into WW, the imported document starts the debugger.

I get a Microsoft Visual Basic Dialog window that says:

Run-time error '4248':

This command is not available because no document is open.

Then there are four options:
1. Continue
2. End
3. Debug
4. Help

If I press "Continue" nothing happens. If I press "End" the dialog window goes away. If I press "Debug" it opens up the Norman - NewMacros (Code) dialog window with the macro code that I imported on the screen.

How can I fix this problem?

Ed Wood

2017-12-01 07:51:33


I get the same as Scott R in Word 2016, along with an error sound:

Run-time error '91':
Object variable or With block variable not set

It seems to work, but the error is worrisome given that I work with big documents with lots of track changes.

2016-12-21 05:25:33

Andreas Weiland

I'm a senior who worked very comfortably with WORD under earlier Windows programs. WORD under Windows 10 makes it possible to set the zoom at 100% which is simply not enough, in my case. I would need 200 or 250%. To enlarge the font size and thus change the layout is not a good solution when I work on a text. Windows 10 appears to be very user-unfriendly compared with earlier versions, I regret to say it, but it is a fact.

2016-08-05 13:39:10


This macro does NOT work with Publisher 2007.

2016-04-18 17:27:35


I edited to the following -

Public Sub AutoOpen()
' AutoOpen Macro
ActiveWindow.ActivePane.View.Zoom.Percentage = 130
End Sub

This worked for a few times, but now every time I try to open a Word doc from an email source I get the following error:

"Run-time error '4248'

This command is not available because no document is open."

And then the doc opens at 100%, disregarding the instructions to open at 130%.

Opening a new doc does not produce an error message but also opens at 100%. Any ideas how to fix this, since Microsoft won't?

2016-01-27 18:33:57


You say, "This means that documents open at the zoom level used when the document was originally saved."

I like this. I expect this. It no longer does this in Word 2013.

It now seems to have no idea what zoom level I use for each document. So all the landscape stuff I do, which I save at 100%, comes up as whatever I used last. And all the portrait stuff I do which I save at 75%, comes up as whatever I used last. And I am sure Word didn't used to do this to me and it is driving me insane.

How do I get each document to save its zoom level for the next time I open it?

2016-01-23 02:53:56


1) Locate the zoom scale at bottom right
2) click on the zoom percentage (default 100%), a new window opens
3) choose the zoom level you want, click OK
4) this should affect all new documents, and existing ones you open

2015-12-11 11:37:11


Incomplete advice. "Simply open up the Normal template..." Where the heck is that located? How do I get to the Normal template? Great assistance if one already knows what he's doing.

2015-10-30 01:03:15



With ActiveDocument.ActiveWindow.View
.Zoom = 140
End With

2015-09-22 12:22:21


The problem with Office 2013 is the opposite: In Word 2010 I saved one document at 100, other at 120, and that is the zoom "saved in" the documents, so I will open each document at its specific zoom level forever (until I change it before save). The problem with Office 2013 is that now ALL documents are opened in the last zoom saved, so documents saved at 120, 150, 300, etc will open all at same last zoom level (if it was 300, a document opened at that zoom but designed to be viewed at 100 it will be awful, and vice-versa).

I'm tired to search the Internet and nobody is talking about this issue, is my copy wrong? or maybe corrupted? thanks.

2015-05-11 08:53:01

Glenn Case

Okay, the form didn't separate the lines; s/b this:

Private Sub Document_Open()
ActiveWindow.ActivePane.View.Zoom.Percentage = 200

End Sub

2015-05-11 08:52:01

Glenn Case


You need to use the event cal associated with opening a document.

Try this:

Private Sub Document_Open() ActiveWindow.ActivePane.View.Zoom.Percentage = 200
End Sub

2015-05-08 11:09:02


i added the script to normal template (i created a module) and it works like a charm when i open Word and a blank document opens, but it doesn't engage when i open a document (the documents open at their saved zoom).

any ideas on how to make this work when opening existing documents?



2014-09-17 08:31:37


I have Word 2013 and I followed the instructions in the original tip (copied/pasted the code from this webpage), but my documents still open at 100% rather than the 130% that I specified in the macro. Any suggestions?

2014-07-10 11:18:03


If you've only got one module in the project I'm not sure why that line would cause that error. However, all you have to do is delete all the code (and/or remove the module) to stop seeing the error. You also won't get the auto-zoom feature, but that wasn't working for you anyway.

The second error message you are only getting because you are in "debug mode". This is when VBA pauses the program on a bad line to let you see where the problem is. When you close Word it closes VBA, which stops the debugging mode. The warning message is just telling you that you won't be in debug mode any more.

2014-07-09 09:47:50



The list of open projects lists only "Module4." In the center of the screen is a box named "Normal - Module4 (Code)." In that box the following appears:

Public Sub AutoOpen()
ActiveWindow.ActivePane.View.Zoom.Percentage = 120
End Sub

The first line is highlighted in yellow.

When I try to close out VBA, an error message says "This Command will Stop the Debugger."

All of this appears when I open a document in Word.

Any suggestions?

2014-07-09 08:17:21


JRFry: It's hard to say just from that error message, but you've probably still got some code hanging around. Press Alt+F11 to get back into the VBA editor, and on the left-hand side should be a list of open projects (documents). Look under the "normal" project to see if there are any red lines of code. If you don't need the module at all you can right click on it and select "Remove...". If there is code in the ThisDocument module you can simply highlight it all and delete it.

Hope this helps.

2014-07-08 12:47:47


I've never worked with VBA before. I tried to create the macro via the "Alt 11, Insert, Module" directions above. When opening a new document, my zoom level had not changed. I assumed I was in over my head, and deleted the change I made. Now when I open a saved document I get "Compile Error: Expected: Identifier"
Uh Oh!!

2014-07-07 08:02:48


Oops, Scott pointed out an error in my comment! Apparently the ActiveWindow object can't be accessed within a sub or function in the ThisDocument module. So if you create a new standard module (Alt+F11 > Insert > Module) and put it in there, the macro will work.

The *proper* way to do this would be to use the Workbook_Open event (which is what I assumed was being used in the first place). In this case, in the ThisDocument Module, the following code will change the zoom upon opening a saved document:

Private Sub Document_Open()
ActiveWindow.ActivePane.View.Zoom.Percentage = 200
End Sub

And to change the zoom when creating a new document use:

Private Sub Document_New()
ActiveWindow.ActivePane.View.Zoom.Percentage = 200
End Sub

2014-07-03 09:57:03

Scott Renz

Never mind, that error happened from following Brian's advice. When I instead put it in with the rest of my Normal macros under Modules>NewMacros, it worked just fine.

2014-07-03 09:49:58

Scott Renz

After I put in this macro, when I open a document, I get the following error dialog box:

Run-time error '91':
Object variable or With block variable not set

2014-06-03 07:17:28


The Normal template file is actually hidden behind the VBA interface. Press Alt+F11 to open the VBA editor. In the top left you should see an entry for "Normal". Click the plus sign to view the "ThisDocument" object. Double click on that and a (likely blank) code pane will appear. That is where you can copy/paste the code.

2014-06-02 15:57:15


Thanks for the tip "To make the change, simply open the Normal template file directly and then create your macro, as follows:. However, the instructions assume that all readers know where to find this "Normal template".
Some readers like myself have no idea and so we must keep searching.

2012-01-16 22:31:01

Charles Farrugia

I'm a little confused about the "open the Normal template file." When I open normal.dotm using the "Open" command to open >Templates>Normal.dotm, I get a blank Word document.

How do I create a macro here? I activated the Developer menu item but I'm not exactly sure how to create the macro you've indicated. Any help will be appreciated!


This Site

Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.

Newest Tips

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.