Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Spell Checking Forms.
by Allen Wyatt
(last updated October 3, 2015)
Many people use Word to create forms that are then used by others to input information. I am not talking about your average, run-of-the-mill forms which are printed out and reproduced on a copier. I am talking about using forms with Word's special form fields that are used to collect specific data without allowing the user to modify the text surrounding the input fields.
Since these types of forms are protected, by design, the user cannot run certain Word tools on the form and cannot do other things, such as run macros. This is beneficial in many instances, but can be a drawback if you have special needs. One such common need is to run the spell checker on the form after the user inputs their information. However, this cannot be done, again because tools such as the spell checker are disabled.
Truth be told, however, and you will find that when you insert a form field, Word inserts it with the Language attribute set to "no proofing." This means that even if you could run the spell checker, Word would ignore the information typed into the form fields.
While this may sound a bit hopeless, there is a way around it. You can run the spell checker on your form by using a macro. Since the macro will need to overcome the obstacles mentioned above, it must both unprotect the form and change the Language attribute for the fields. The simplest way to do this is with the following macro:
Sub SCForm() ActiveDocument.Unprotect Selection.WholeStory Selection.LanguageID = wdEnglishUS ActiveDocument.CheckSpelling ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True End Sub
Note that the macro sets the Language attribute for the entire document to US English. If you are creating forms in some other language, you should make sure that you change the macro so the appropriate language is selected.
There is also a drawback to this macro which may not make it acceptable for all uses. When run, the macro spell checks everything in the document, not just the contents of the form fields. This is only a drawback if the form has lots of words which the spell checker may consider misspelled, such as highly technical prose. If you find yourself in such a situation, you will need to create a more complex macro that actually searches for and steps through the fields in the form.
There are two things to remember when using this macro with a form:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1040) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Spell Checking Forms.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
Are you bothered by the green underlines that Word uses to mark potential grammar errors in your document? You can hide ...Discover More
If your writing often contains words that include numbers, you'll want to make sure you set up the spelling checker to ...Discover More
Need to make sure that Word includes abbreviations when you check a document's spelling? Here's how to make sure that ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.