Статьи из блога

Статьи из блога

Обновление текстовых полей в надписях

Рубрика: Вопрос-Ответ, Макросы
Метки: | |
Пятница, 1 февраля 2008 г.
Просмотров: 7555
Подписаться на комментарии по 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

Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

Автоматическая запись макроса

Создание макроса из готового кода

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 1

  1. Роман
    17.02.2008 в 13:36 | #1

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

Оставьте комментарий!

(обязательно)

^ Наверх