我是VBA的新手。我每次打开文档时都试图更新Word文档中的目录,但它似乎根本没有更新它。
在ThisDocument
我完成了以下操作:
Private Sub Document_Open()
ActiveDocument.TablesOfContents(1).Update
End Sub
任何人都可以帮助我吗?
答案 0 :(得分:3)
问题可能是使用Document_Open
- 你必须在模板中设置事件,而不是你要打开的文档。您还可以使用Auto_Open
宏。请注意,ActiveDocument
也可能是罪魁祸首的一部分 - 当您执行Document_Open
事件时,您打开的文档可能还不是实际的活动文档 - 您可能需要设置对文档的引用“重新打开像:
Dim doc As Document
set doc = Documents.Open(your path here)
doc.TablesOfContents(1).Update
最后,您的宏安全设置可能会禁止执行任何操作。
在所有情况下,请仔细阅读Take Control of Microsoft Word Through Events和Running a macro automatically when a document is created, opened or closed。