Обновление всего оглавления из макроса

Если у вас есть документ, содержащий оглавление (TOC), и вы обновляете поля во всем документе, Word спрашивает, хотите ли вы обновить всю таблицу или только номера страниц в таблице. Это происходит потому, что оглавление реализуется с помощью поля, и когда вы обновляете все поля, вы сообщаете Word, что вы также хотите обновить поле, лежащее в основе оглавления.

Вы можете обновить оглавление с помощью макрос, используя коллекцию TablesOfContents. Каждый элемент в коллекции представляет собой одно оглавление в документе. (В большинстве документов коллекция будет состоять только из одного элемента.) Для обновления всего оглавления используется следующий формат команды:

 ActiveDocument.TablesOfContents (1) .Update 

Метод Update – это то, что делает работу; он обновляет оглавление. Если вы хотите обновить только номера страниц в оглавлении, вы используете совершенно другой метод:

 ActiveDocument.TablesOfContents (1) .UpdatePageNumbers 

Каждый раз, когда вы используете команды подобно тому, как это делается в макросе, рекомендуется убедиться, что в документе действительно есть оглавление, прежде чем пытаться выполнить какое-либо обновление. Самый простой способ сделать это – просто проверить свойство Count для коллекции, как показано здесь:

 Если ActiveDocument.TablesOfContents.Count = 1 Then _ ActiveDocument.TablesOfContents (1) .Update 

Оцените статью
Frestage.ru
Добавить комментарий