2010-06-22 286 views
2

我是VBA的新手。我试图在每次打开文档时更新Word文档中的目录,但似乎没有更新它。使用VBA更新/创建Word中的目录

ThisDocument我已经做了以下内容:

Private Sub Document_Open() 
ActiveDocument.TablesOfContents(1).Update 
End Sub 

谁能帮助我?

回答

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 EventsRunning a macro automatically when a document is created, opened or closed

相关问题