【发布时间】:2016-11-25 22:57:23
【问题描述】:
我有此代码(功能区中的按钮)来更新我的文档中的目录(Word 2010 - Windows 7)
ActiveDocument.TablesOfContents(1).Update
,但它不会更新目录
唯一能做的是参考菜单中内置的“更新表”命令。
当光标在目录中时按 F9 键不起作用,此代码也不起作用
Dim TOC As TableOfContents
With ActiveDocument
For Each TOC In .TablesOfContents
TOC.Update
Next
End With
任何想法可能会发生,因为它非常令人沮丧
【问题讨论】:
-
只是为了确定,包含目录的文档肯定是 ActiveDocument 吗?成功的手动更新意味着该字段已解锁。 (FWIW 单行代码在这里工作,如果没有 TOC 或我将 TOC 放在文本框之类的东西中,则失败并出现错误。这就是为什么我想知道您的代码是否可以针对另一个文档运行)。作为一个实验,值得尝试 Activedocument.Fields(n).Update,其中 n 是文档中 TOC 字段的编号。
-
使用 Activedocument.Fields(n).Update 也更新失败
-
我会考虑 (a) 尝试使用包含单个 ToC 的全新文档,(b) 修复 Office,以及 (c) 文档损坏的可能性(在这种情况下我会尝试修复。
标签: vba ms-word tableofcontents