Статьи из блога
Статьи из блога
Обновление текстовых полей в надписях
Метки: макросы | надписи | поля
Пятница, 1 февраля 2008 г.
Просмотров: 2664
Подписаться на комментарии по RSS
Версия для печати
На прошлой неделе я получил письмо от читателя с вопросом:
Известно, что для обновления всех полей в документе, нужно выделить весь текст и нажать «F9». Но если поле находится в надписи, например, название рисунка, то приходится выделять каждый рисунок, в нем надпись и нажимать «F9». А у меня в дипломе 49 рисунков и диаграмм.
Как средствами Visual Basic выбрать все надписи в документе? Под надписями я понимаю графические элементы, имеющие в себе текст.
Поскольку я несколько поостыл к изучению программирования на VBA, то помочь с решением сразу не мог и предложил задать этот вопрос на сайт RusFAQ.ru. Однако полученный совет (выделить весь текст сочетанием клавиш «Ctrl»+«A» и затем нажать клавишу «F9») не решал проблему, поскольку поля находились в надписях, а обновление применялось исключительно к выделенному тексту.
Сама по себе поставленная задача достаточно легка в реализации для тех, кто разбирается в программировании на VBA. Тем не менее, удалось "накропать" пару строчек кода для макроса, который позволяет обновить поля, находящиеся во всех надписях в документе.
Вот получившийся код:
Sub shUp()
Dim sh As Shape
For Each sh In ActiveDocument.Shapes
sh.TextFrame.TextRange.Fields.Update
Next sh
End Sub
Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

Поиск
Рубрики
Подписка
Читают
Обсуждают
страницы
сайты
статистика
Комментариев: 1
А если в параметрах печати включить "обновлять поля", то после предварительного просмотра (или печати в файл и под.) поля должны автоматически обновится во всем документе.