如果您有一个包含目录(TOC)的文档,并且更新了整个文档中的字段,Word将询问您是要更新整个表还是仅更新表中的页码。发生这种情况是因为TOC是通过使用字段来实现的,并且当您更新所有字段时,您在告诉Word您还希望更新TOC底层的字段。

您可以通过使用TablesOfContents集合使用宏更新目录。集合中的每个项目代表文档中的单个目录。 (在大多数文档中,集合仅包含一个项目。)要更新整个目录,请使用以下格式的命令:

ActiveDocument.TablesOfContents(1).Update

Update方法是起作用的;它会更新目录。如果只想更新目录中的页码,则使用完全不同的方法:

ActiveDocument.TablesOfContents(1).UpdatePageNumbers

每当在宏中使用此类命令时,在尝试进行任何更新之前,最好先确保文档中确实存在目录。最简单的方法是检查集合的Count属性,如下所示:

If ActiveDocument.TablesOfContents.Count = 1 Then _    ActiveDocument.TablesOfContents(1).Update

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(301)适用于Microsoft Word 97、2000、2002和2003。您可以找到Word(Word 2007)的功能区界面的本技巧版本。和更高版本)在这里:

链接:/ wordribbon-Updating_an_Entire_TOC_from_a_Macro [从宏更新整个目录。