Многие люди используют Word для создания форм, которые затем используются другими для ввода информации. Я не говорю о ваших обычных, обыденных формах, которые распечатываются и воспроизводятся на копировальном аппарате. Я говорю об использовании форм со специальными полями формы Word для создания шаблонов, которые используются в качестве основы для документов для сбора данных, которые индивидуально сохраняются с данными на месте.

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

Вы не поверите, но это особенность Word. Кто-то усомнился бы в этой характеристике, но именно так власть имущие разработали функцию форм. Единственный способ решить эту проблему — использовать макрос. Естественное место для сохранения макроса — это шаблон, на котором основаны ваши формы. Возможно, вы захотите, чтобы макрос был доступен с помощью сочетания клавиш или по ссылке link: / wordribbon-Adding_Tools_to_the_Quick_Access_Toolbar [Панель быстрого доступа]. (Назначение сочетаний клавиш для макросов и добавление их на панель быстрого доступа рассматривается в других выпусках WordTips.)

Помните, что проблема проявляется только при повторной блокировке формы; их разблокировка не приводит к потере данных. Таким образом, вам нужно только использовать специальный макрос для повторной блокировки вашей формы, и вы можете использовать обычный инструмент разблокировки в Word, чтобы снять защиту с вашей формы перед внесением изменений. Следующий макрос безопасно повторно заблокирует ваши разблокированные формы:

Sub SafeFormLock()

If ActiveDocument.ProtectionType = wdNoProtection Then         ActiveDocument.Protect _           Password = "" _           Type:=wdAllowOnlyFormFields, _           NoReset:=True     End If End Sub

Причина проверки If …​ Then заключается в том, что VBA выдаст ошибку, если вы используете метод защиты для активного документа, и он уже был защищен. Также обратите внимание, что этот макрос не устанавливает пароль защиты. Если вы хотите использовать пароль, вам нужно будет указать его в макросе.

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

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

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

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

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (10416) применим к Microsoft Word 2007, 2010, 2013 и 2016. Вы можете найти версию этого совета для более старого интерфейса меню Word здесь: link: / word-Safely_Relocking_Forms [Безопасное повторное блокирование форм].