WD97: How to Force a User to Enter Data into a Form Field

ID: Q233230


The information in this article applies to:


SUMMARY

This article demonstrates a sample Visual Basic for Applications macro you can adapt to your form document to force a user to enter text into a text form field. When the user enters a form field, the macro runs and checks the value of the previous form field. If the previous form field does not contain any data, the macro forces the user back to the form field that requires data entry.


MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact a Microsoft Certified Solution Provider or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Solution Providers, please see the following page on the World Wide Web:

http://www.microsoft.com/mcsp/
For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

http://www.microsoft.com/support/supportnet/refguide/
In the following sample, there are three sequential text form fields in a document. The bookmark names and the layout for the form fields are as follows:

Text1       Text2      Text3 
To force the user to enter data into the "Text2" form field, create the following macro:

Sub ForceText2Entry()

   On Error Goto fError
   If ActiveDocument.FormFields("Text2").Result = "" Then
      MsgBox "You must enter text in the Text2 formfield."
      Selection.GoTo wdGoToBookmark, Name:="Text2"
   End If
   Exit Sub

fError:
   MsgBox Err.Description

End Sub 
Then set the "Text3" form field Run macro on - Entry option to the macro name ForceText2Entry.

NOTE: To force text entry for other or all form fields, you must create a separate macro for each form field and then set the Run macro on - Entry option to the corresponding macro.

To set a macro to the Run macro on option:
  1. On the Tools menu, click Unprotect Document.

    NOTE: If the document is already unprotected, the Tools menu displays Protect Document.


  2. Click to select the form field for which you want to edit the form field options.


  3. On the View menu, point to Toolbars and then click to select Forms.


  4. On the Forms toolbar, click Options.


  5. In the Run macro on section, scroll through the list of macros to select the macro you want to run either on Entry or on Exit.



REFERENCES

For additional information, please see the following article in the Microsoft Knowledge Base:

Q173707 OFF97: How to Run Sample Code from Knowledge Base Articles
For more information about form fields, click the Office Assistant, type "form fields," click Search, and then click to view "form fields."

NOTE: If the Assistant is hidden, click the Office Assistant button on the Standard toolbar. If Microsoft Help is not installed on your computer, please see the following article in the Microsoft Knowledge Base:
Q120802 Office: How to Add/Remove a Single Office Program or Component

Additional query words: vba


Keywords          : kbdta kbdtacode OffVBA word8 kbwordvba word97 KbVBA 
Version           : WINDOWS:97
Platform          : WINDOWS 
Issue type        : kbinfo 

Last Reviewed: June 1, 1999