【问题标题】:Word TOC update not working correctlyWord TOC 更新无法正常工作
【发布时间】: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


【解决方案1】:

我很久以前写这篇文章就是因为这个问题......

Option Explicit

' Update all the tables of contents, without annoying prompts.
Sub UpdateAllMyFields()
    Dim t As TableOfContents
    For Each t In ActiveDocument.TablesOfContents
        t.Update
    Next t
    ActiveDocument.Fields.Update        ' Update all fields.
End Sub

每当我必须处理目录和字段时,我都会使用它。 我也有关于打印选项集的更新字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 2023-04-07
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    相关资源
    最近更新 更多