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. ...


Returning Zero when a Referenced Cell is Blank

Reference a cell in a macro, and if that cell is blank Excel normally equates that to a zero value. What if you don't ...

Discover More

Printing a Full Style Sheet

Word supports the use of styles (they are very powerful), but it doesn't provide a way to get a full-featured style sheet ...

Discover More

Using Non-Printing Notes

Adding notes to your document in Word is a handy tool. But what if you don't want those notes to be seen on the screen or ...

Discover More

Do More in Less Time! Are you ready to harness the full power of Word 2013 to create professional documents? In this comprehensive guide you'll learn the skills and techniques for efficiently building the documents you need for your professional and your personal life. Check out Word 2013 In Depth today!

More WordTips (ribbon)

Nifty Zooming with the Mouse

Want to use the mouse to control the zoom level for your document? You can do it by combining your mouse use with the ...

Discover More

Jumping to a Relative Line Number

As you navigate through a document, you may have a need to move forward or backward a specific number of lines. This is ...

Discover More

Removing Author Information

Word automatically stores lots of author-related information within a document. Because this data is stored in several ...

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 five minus 4?

2022-01-12 18:30:25


I agree with Doug that it is unbelievable Microsoft didn't make this probably very simple on their end fix ages ago. In the meantime, there still seems to be no reliable workaround to always open any document - new or existing - at a present zoom setting such as 125% or 200%. As I mentioned in my post some time ago below, the proposed solutions throw errors or don't work. If anyone else has any ideas, I'd love to hear them. Thank you.

2022-01-11 14:02:36


The following should work for you:

Public Sub AutoOpen()
    ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
End Sub

2022-01-10 12:11:41


Is there a way to open documents in the "Page width" zoom mode? That's what I use 90% of the time, but I'm not sure how to modify this macro to achieve the goal, given it's not a static percentage.

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.


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.