When you open a document in one of the versions of Microsoft Word that is listed in the "Applies to" section of this article, the FILENAME field (and path if applicable) does not update to the name and the location of the file that you just opened.
This behavior is a design change in Microsoft Word 2002 and later to permit your Word document that contains a FILENAME field to open more quickly.
To work around this behavior, use one of the following methods.
Method 1: Update the field manually
To update the field manually, select the field that is contained in your Word document, and then press F9.
Method 2: Create a macro to automatically update the field
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
To automatically update the field that is contained in your Word document, create an AutoOpen macro. To do this, follow these steps:
Start Word and open the document that contains the field that will not update automatically.
In Microsoft Office Word 2003 or in Word 2002, on the Tools menu, point to Macro, and then click Macros.
In Microsoft Office Word 2007, click the Developer tab, and then click Macros in the Code group.
In the Macros dialog box, follow these steps:
In the Macro name box, type AutoOpen.
Change the Macros in box to your document file name.
In the code sheet of the Microsoft Visual Basic editor, you should now see the beginnings of your AutoOpen macro. For example, you should see the following:
Sub AutoOpen()'' AutoOpen Macro' Macro created date by username'End Sub
Type, or copy and paste, the following macro code into your AutoOpen macro:
Dim aStory As Range Dim aField As Field For Each aStory In ActiveDocument.StoryRanges For Each aField In aStory.Fields aField.Update Next aField Next aStory
Your AutoOpen macro should now look similar to the following example:
Sub AutoOpen()'' AutoOpen Macro' Macro created date by username' Dim aStory As Range Dim aField As Field For Each aStory In ActiveDocument.StoryRanges For Each aField In aStory.Fields aField.Update Next aField Next aStoryEnd Sub
On the File menu, click Save Filename.
On the File menu, click Close and Return to Microsoft Word.
In Word 2003 or Word 2002, on the Tools menu, point to Macro, and then click Security.
In Word 2007, click the Developer tab, and then click Macro Security in the Code group.
In Word 2003 or Word 2002, on the Security Level tab, change your security level to Medium, and then click OK.
In Word 2007, under Macro Settings, click to select the Enable all macros option.
Close your document.
Reopen your Word document.
Click Enable Macros in the Security Warning dialog box.
The field should now update automatically in your Word document.
The FILENAME field will be updated automatically when you switch to print preview or when you print the document.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
211629 Which fields are updated when you open, repaginate, or print document
For more information about AutoOpen macros, click the following article number to view the article in the Microsoft Knowledge Base:
286310 Behavior of AutoExec and AutoLoad macros in Word