在本文的“这篇文章中的信息适用于:”部分中列出的一个 Microsoft Word 版本中打开文档时,“文件名”域(以及适用的路径)未更新成刚才打开的文件的名称和路径。
为了让包含“文件名”域的 Word 文档打开得更快一些,Microsoft Word 2002 以及更高版本在设计上进行了更改,从而发生了此行为。
若要解决此问题,请使用下列方法之一:
方法 1:手动更新此域
若要手动更新此域,请选择 Word 文档中包含的此域,然后按 F9。
方法 2:创建一个宏以自动更新此域
Microsoft 提供的编程示例只用于说明目的,不附带任何明示或暗示的保证。这包括但不限于对适销性或特定用途适用性的暗示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。
若要自动更新 Word 文档中包含的此域,请创建一个 AutoOpen 宏。为此,请按照下列步骤操作:
- 启动 Word 并打开包含将不会自动更新的域的文档。
- 在 Microsoft Office Word 2003 或 Word 2002 的“工具”菜单上,指向“宏”,然后单击“宏”。
在 Microsoft Office Word 2007 中,单击“开发工具”选项卡,然后单击“代码”组中的“宏”。 - 在“宏”对话框中,请按照下列步骤操作:
- 在“宏名”框中,键入 AutoOpen。
- 将“宏的位置”框更改为文档文件名。
- 单击“创建”。
- 在 Microsoft Visual Basic 编辑器的代码表中,您现在应该会看到 AutoOpen 宏的开头部分。例如,您应该会看到如下内容:
Sub AutoOpen()
'
' AutoOpen Macro
' Macro created date by username
'
End Sub
- 将以下宏代码键入或复制并粘贴到 AutoOpen 宏中:
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
- 您的 AutoOpen 宏现在看上去应该与以下示例相似:
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 aStory
End Sub
- 在“文件”菜单上,单击“保存 Filename”。
- 在“文件”菜单上,单击“关闭并返回到 Microsoft Word”。
- 在 Word 2003 或 Word 2002 的“工具”菜单上,指向“宏”,然后单击“安全性”。
在 Word 2007 中,单击“开发工具”选项卡,然后单击“代码”组中的“宏安全性”。 - 在 Word 2003 或 Word 2002 的“安全级别”选项卡中,将“安全级别”更改为“中”,然后单击“确定”。
在 Word 2007 的“宏设置”下面,单击以选择“启用所有宏”选项。 - 关闭您的文档。
- 重新打开您的 Word 文档。
- 在“安全警告”对话框中单击“启用宏”。
此域现在应该能够在 Word 文档中自动更新。
有关 AutoOpen 宏的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
286310
(http://support.microsoft.com/kb/286310/
)
Word 中 AutoExec 和 AutoOpen 宏的行为
文章编号: 832897 - 最后修改: 2007年2月26日 - 修订: 4.0
这篇文章中的信息适用于:
- Microsoft Office Word 2007
- Microsoft Office Word 2003
- Microsoft Word 2002 标准版
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。