Обновление / создание оглавления в Word с использованием VBA - PullRequest
2 голосов
/ 22 июня 2010

Я новичок в VBA. Я пытаюсь обновлять оглавление в моем документе Word каждый раз, когда открываю документ, но, похоже, он вообще не обновляется.

В ThisDocument Я сделал следующее:

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

Кто-нибудь может мне помочь?

1 Ответ

3 голосов
/ 22 июня 2010

Возможно, проблема в использовании Document_Open - вам нужно настроить событие в шаблоне, а не в документе, который вы открываете.Вы также можете использовать макрос Auto_Open.Обратите внимание, что ActiveDocument также может быть частью виновника - открытый вами документ может еще не быть действительным активным документом, когда вы запускаете событие Document_Open - вам может потребоваться установить ссылку на открываемый документ, например:

Dim doc As Document
set doc = Documents.Open(your path here)
doc.TablesOfContents(1).Update

Наконец, ваши настройки безопасности макросов могут запрещать выполнение чего-либо.

Во всех случаях хорошо читайте Возьмите под контроль Microsoft Word с помощью событий и Автоматический запуск макроса при создании, открытии или закрытии документа .

...