如果您有一个包含目录(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是世界上最流行的文字处理软件。)本技巧(8621)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里:

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