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

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

ActiveDocument.TablesOfContents(1).Update

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

ActiveDocument.TablesOfContents(1).UpdatePageNumbers

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

If ActiveDocument.TablesOfContents.Count = 1 Then _    ActiveDocument.TablesOfContents(1).Update

_Примечание: _

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

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (301) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:

link: / wordribbon-Updating_an_Entire_TOC_from_a_Macro [Обновление всего оглавления из макроса].