Копирование содержимого поля формы (Microsoft Word)
Допустим, вы разрабатываете форму и вам нужно скопировать содержимое одного поля устаревшей формы в другое. Например, форма может иметь несколько страниц, и вам нужно, чтобы имя пользователя было вверху каждой страницы. Очевидно, было бы проще, если бы пользователю нужно было ввести свое имя только один раз, а затем оно автоматически заполнялось в другом месте формы.
Вы можете подойти к этому двумя способами. Первый способ заключается в том, что каждый раз, когда вы вставляете поле формы в документ, содержимое поля автоматически добавляется в закладки. Таким образом, вы можете использовать поля ссылок на закладки по всему документу, чтобы ссылаться на все, что пользователь ввел в это поле. Второй способ заключается в фактическом копировании информации из одного поля в другое.
Для начала рассмотрим решение, использующее закладки. Каждый раз, когда вы вводите поле формы в документе, ему присваивается имя. Это имя зависит от типа введенного вами поля формы. Вы можете узнать имя (и при желании изменить его), щелкнув правой кнопкой мыши поле формы и выбрав «Свойства» в контекстном меню. Откроется диалоговое окно «Параметры поля формы», а в нижней части диалогового окна будет указано имя закладки для поля. (Это будет имя, например Text1.) Вы должны запомнить это имя для поля формы, содержимое которого вы хотите использовать в другом месте.
Теперь поместите точку вставки там, где вы хотите, чтобы отображалось содержимое формы. Например, в том месте, где вы хотите, чтобы имя пользователя формы отображалось второй или третий раз. Здесь вы должны выполнить следующие действия:
-
Нажмите Ctrl + F9, чтобы вставить пару скобок поля. Точка вставки должна находиться между фигурными скобками.
-
Введите REF, а затем имя поля формы, которое вы ранее отметили.
Например, если имя поля формы — Text1, вы должны ввести REF Text1.
-
Нажмите F9, чтобы отобразить результаты полей вместо кодов полей.
Помните, что даже если вы можете повторно использовать информацию о содержимом поля формы таким образом, информация не обновляется автоматически, когда пользователь покидает поле формы. (Ну, это так, и это не так.) Вы должны доверять Word в этом, поскольку содержимое полей (поле REF) обычно не обновляется, пока вы не распечатаете или не посмотрите предварительный просмотр документа. Поле, конечно, также можно обновить, выбрав его и нажав F9. Любой из них требует ручных действий со стороны пользователя, но можно начать создавать макросы, которые будут делать это автоматически.
Второй общий метод копирования содержимого поля заключается в буквальном копировании информации из одного поля в другое. Это должно быть сделано с помощью макроса, и это кажется излишним в свете уже обсуждавшейся функции закладок. Однако могут быть случаи, когда вам действительно нужны два поля формы в вашем документе, и вы хотите, чтобы второе поле формы по умолчанию соответствовало тому, что пользователь ввел в первое поле формы. В этом случае вы должны записать имена, присвоенные полям формы Word. Для целей этого обсуждения предположим, что это имена Text1 и Text2, и что вы хотите скопировать содержимое Text1 в Text2, как только пользователь покинет Text1. Вы можете использовать следующий простой макрос:
Sub CopyField() Dim Temp as String Temp = ActiveDocument.FormFields("Text1").Result ActiveDocument.FormFields("Text2").Result = Temp End Sub
Теперь вам нужно настроить свое первое поле так, чтобы макрос выполнялся каждый раз, когда поле остается. Для этого выполните следующие действия:
-
Щелкните правой кнопкой мыши первое поле. Откроется контекстное меню.
-
Выберите «Свойства» в контекстном меню. Word отображает диалоговое окно «Параметры поля формы».
-
Диалоговое окно содержит два поля, в которых вы можете указать макрос, который будет запускаться при входе в поле и выходе из него.
-
Используйте раскрывающийся список Exit, чтобы выбрать только что созданный макрос (CopyField).
-
Щелкните ОК.
Теперь защитите документ для полей и сохраните шаблон формы. В следующий раз, когда вы создадите новый документ из шаблона, пользователь сможет заполнить поля. Когда поле Text1 закрывается, поле Text2 мгновенно обновляется тем, что было введено в Text1.
Поймите, что пользователь может изменить все, что находится в Text2; изменение заключалось в том, чтобы просто установить значение по умолчанию. Вы также должны понимать, что если пользователь «возвращается назад» и снова изменяет Text1, а затем выходит из этого поля, содержимое Text2 изменяется независимо от того, что было раньше.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (10392) применим к Microsoft Word 2007, 2010, 2013 и 2016. Вы можете найти версию этого совета для старого интерфейса меню Word здесь:
link: / word-Copying_Form_Field_Contents [Копирование содержимого поля формы]
.