Если вы создаете форму в Word, в форме можно использовать два типа полей: обычные поля и поля формы. Поля формы и то, как они обновляются, рассматриваются в других вопросах _WordTips _. Если вы создаете форму, которая использует другие типы полей, которые необходимо периодически обновлять, это может быть неприятно. Зачем? Потому что Word не всегда обновляет обычные поля, когда вы заполняете заблокированную форму.

К сожалению, единственный способ обновить такие поля — это либо распечатать документ (что обычно приводит к обновлению всех полей), либо принудительно обновлять с помощью макроса. Если последний вариант является желаемым, макрос должен выполнять следующее:

  1. Разблокируйте документ.

  2. Обновите поля.

  3. Повторно заблокируйте документ.

Это относительно простая задача, которую можно выполнить с помощью VBA. Вы можете использовать следующий макрос:

Sub UpdateFields()

Dim OneStory as Range  Dim OneField as Field

ActiveDocument.Unprotect Password:="YourPassword"

For Each OneStory In ActiveDocument.StoryRanges  For Each OneField in Stories.Fields   OneField.Update  Next OneField  Next OneStory  ActiveDocument.Protect Type:=wdAllowOnlyFormFields, _  NoReset:=True, Password:="YourPassword"

End Sub

Чтобы убедиться, что этот макрос работает для вас, вы должны убедиться, что вы изменили словосочетание «YourPassword» (два экземпляра) на любой пароль для вашего документа. Если в вашем документе не используется пароль, просто удалите параметр Password в обоих методах Unprotect и Protect.

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

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (8258) относится к Microsoft Word 2007, 2010 и 2013.

Вы можете найти версию этого совета для старого интерфейса меню Word здесь:

link: / word-Updating_Fields_in_Locked_Forms [Обновление полей в заблокированных формах].