Word Refuses To Open Documents The Way I left them

Article contributed by John McGhie

OK, this is a bug, but it won't be fixed for a while, so you need to work around it.

Word is supposed to open each document at the Zoom setting in which it was last saved.  It doesn't.  It also insists on opening every document in the top left corner of the screen.

Fortunately, in Word 2011, we have a full version of VBA back, so we can cure this.  Here's how:

Restore View Macros

This set of Macros causes any document you have opened previously to open at the size and window position you last left it. This works around a bug in Word 2011. Word should always restore a document to the size it was last closed: Word 2011 doesn't do this.

This macro code currently tests to ensure it is running in Word 2011 or above on a Mac.  If you remove that test, you will probably get it working in Windows versions, but you're on your own :-)  We know it doesn't work in earlier Mac versions.

Installation Instructions

Sorry, this is a bit of a fiddle: due to a bug in Word 2011 VBA, the OrganizerCopy function I need to build an installer will not copy macros. Follow these steps exactly:

  1. Download the file:

        Version 1.7, 21 Dec 2010, with bug fixes and enhancements
        Version 2.5, 21 Dec 2010, also restores cursor to last edit

  1. Remember where you saved it!
  2. You will get a .bas.zip file: double-click it in the Finder to de-compress it.  It's the .bas you need...  Make sure that the .bas extension on the file name remains.
  3. Start Microsoft Word 2011.
  4. On the Tools menu, choose Macro, then Visual Basic Editor .

    No matter what else you see, you should see the Project window in the top left corner:

  5. Select the entry Normal (Normal.dotm) which is usually at the top.
  6. If you are upgrading, delete the RestoreViewMacros module.
  7. From the File menu, choose Import File.
  8. Navigate to the RestoreViewMacros.bas file, wherever you saved it, and choose Open.
  9. The RestoreViewMacros module will appear in the Project window.
  10. Close your way out, and Quit Word to ensure that everything gets saved.

Usage

You don't have to do anything! If you add the macros to your Normal.dotm template, they work automatically. There, that was easy, wasn't it!

On each file creation or save, the current position and size of the window, and the position of the cursor,  is written into the document and saved.  Word does this by design: it's just not working right in the current version.

On each file open, the macros search the document for these values, read them in if they are there, and adjust the size of that document window accordingly. 

  • Version 1.x contains a macro named "gotoSpot" which will skip the cursor to the stored position.  By adding that macro to a toolbar or keystroke, you can return to the stored last-edit location when you want to.
  • In version 2.x, the macro automatically skips the cursor to the last edit, every time it opens a document it has previously saved.

For the technically minded, the macros intercept the Word startup, file open, file close, and save actions.

The macros rely on the AutoExec(), AutoOpen(), AutoNew(), AutoClose(), and FileSave() special macros (because the equivalent events are not implemented on Word 2011).  If you are already using those special macros, you need to edit your code to add the calls to these RestoreView macros.

There are various things that will thwart the macro.  Obviously the main one is if you have no document open, the macro has nowhere to save anything.  If the document on-screen has no text, or has never been saved, the macro will not attempt to write values into it.  That's because you probably don't want to keep such a document, so you don't want to be nagged to save it each time.

Support

Bug reports: Please email these immediately to john@mcghie.name

Other support: This is the free version. All support is via the forum. Requests for support via email will not be answered. Sorry, but I cant burn up working time supporting a give-away product -- I am sure you understand.

Enhancements: Email me at john@mcghie.name. Of course, you will understand that I will charge a fee for those (probably only a dollar or two, depending on what you want). Send a clear, concise email and I will be delighted to give you a quote.

Or: The code is open: you can make your own enhancements. Ummm... No! I wont get into email back-and-forth if you break it {grin}.

 

 for Return to Top