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

При создании формы иногда может потребоваться, чтобы Word обновлял содержимое вычисляемых полей в форме. Если вы установите флажок «Обновить поля» на вкладке «Печать» диалогового окна «Параметры», поля будут рассчитаны автоматически при печати документа. В версиях Word до Word 2000 поля также вычисляются автоматически при использовании предварительного просмотра. (Это изменилось в Word 2000; требуется настоящая печать.) Но что, если вы не хотите распечатывать весь документ и макулатуру только для того, чтобы увидеть, каков результат вычислений?

Решение состоит в том, чтобы создать простой макрос и назначить макрос кнопке панели инструментов. Подойдет следующий макрос:

Sub UpdateFields()

Dim rngStory As Range          For Each rngStory In ActiveDocument.StoryRanges               rngStory.Fields.Update          Next rngStory End Sub

Важно, чтобы макрос был назначен кнопке панели инструментов, потому что защищенная форма не разрешает доступ к макросам через меню.

Этот подход, конечно же, требует, чтобы пользователь не забывал нажимать кнопку, чтобы обновить все поля. При желании можно назначить макрос событию OnExit любого поля формы. Таким образом, всякий раз, когда поле было «закрыто», макрос будет выполняться. Один подписчик на WordTips также предложил следующий макрос в качестве макроса OnExit для обновления полей:

Sub UpdateRefsInForm()

Application.ScreenUpdating = False     If ActiveWindow.View.Type = wdPageView Then         ActiveWindow.ActivePane.View.Type = wdNormalView     Else         ActiveWindow.View.Type = wdPageView     End If     If ActiveWindow.ActivePane.View.Type = wdNormalView Then         ActiveWindow.ActivePane.View.Type = wdPageView     Else         ActiveWindow.ActivePane.View.Type = wdNormalView     End If End Sub

Этот макрос довольно умен в том, что все, что он делает, — это переключение с любого вида, в котором вы находитесь (обычное или страничное), на другое представление, а затем обратно. Это изменение режима просмотра заставляет Word обновлять поля.

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

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

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

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

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

link: / wordribbon-Updating_Calculated_Fields_in_a_Form [Обновление вычисляемых полей в форме].