Обновление / создание оглавления в Word с использованием VBA

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

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

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

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам