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

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

Однако по правде говоря, вы обнаружите, что когда вы вставляете поле формы, Word вставляет его с атрибутом Language, установленным на «без проверки».

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

Хотя это может показаться немного безнадежным, есть способ обойти это. Вы можете запустить проверку орфографии в своей форме с помощью макроса. Поскольку макросу необходимо будет преодолеть упомянутые выше препятствия, он должен как снять защиту с формы, так и изменить атрибут Language для полей. Самый простой способ сделать это — использовать следующий макрос:

Sub SCForm()

ActiveDocument.Unprotect    Selection.WholeStory    Selection.LanguageID = wdEnglishUS    ActiveDocument.CheckSpelling    ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True End Sub

Обратите внимание, что макрос устанавливает для атрибута Language для всего документа значение US English. Если вы создаете формы на другом языке, убедитесь, что вы изменили макрос, чтобы был выбран соответствующий язык.

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

При использовании этого макроса с формой следует помнить о двух вещах:

  • Убедитесь, что вы связали этот макрос с шаблоном, содержащим ваш макрос.

  • Вам нужно будет назначить макрос либо комбинации клавиатуры, либо кнопке панели инструментов. Это не только упростит пользователю форму, но и станет единственным способом ее запуска. (Помните, что вы не можете получить доступ к меню «Макросы» при заполнении формы.)

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

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

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

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

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

link: / wordribbon-Spell_Checking_Forms [Формы проверки орфографии].