Обновление всего оглавления из макроса (Microsoft Word)
Если у вас есть документ, содержащий оглавление (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 [Обновление всего оглавления из макроса]
.