Solved

Validate an MS Word form field

Posted on 2009-05-06
2
280 Views
Last Modified: 2012-05-06
I have an exit macro on a Word form field to undertake a validation of the input. In the event of an error I use the .select to set the focus back to the field, however, this does not work as it seems to execute the tab key press subsequent to the function return and takes it onto the next field.

How do I ignore the key event to get the focus back onto the field that has the error?
0
Comment
Question by:DavidAreen
2 Comments
 
LVL 17

Accepted Solution

by:
wobbled earned 500 total points
ID: 24313759
Hi,

This happens because the Tab event kicks in after the code has run.  What you need to do is create a global variable to store the error in.

Below is the code to do this.

I have created ExitFieldCode as a sample of how to do this.  I have called my checkbox in this example "thisone"

You then need to put in the following field the code for FieldEntry as code that runs on entering the field.  This will check to see if there is a global variable of an error set and if so it will select that field

Hope this helps
Option Explicit
 
Public gblErr As Boolean
Public gstrField As String
 
Sub ExitFieldCode()
 
    gblErr = False
    gstrField = ""
 
    If ActiveDocument.FormFields("thisone").CheckBox.Value = False Then
        MsgBox "You have not checked this etc"
        gblErr = True
        gstrField = "thisone"
        'other stuff here
    Else
        'stuff here
    End If
 
 
End Sub
 
Sub FieldEntry()
 
    If gblErr = True Then
        ActiveDocument.FormFields(gstrField).Select
    End If
 
End Sub

Open in new window

0
 
LVL 1

Author Closing Comment

by:DavidAreen
ID: 31578414
Works perfectly, thanks.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Do you ever need to create a 20 page Word document for some testing purpose? Are you tired of copying & pasting old boring "lorem ipsum" text over and over again, increasing font size and line space in order to make the document 20+ pages long? Look…
It is often necessary in this forum and others to illustrate Word fields as text with the field delimiters replaced with the curly brackets that the delimiters resemble when field codes are being displayed on the document. This means that the text c…
This Micro Tutorial well show you how to find and replace special characters in Microsoft Word. This is similar to carriage returns to convert columns of values from Microsoft Excel into comma separated lists.
In a previous video Micro Tutorial here at Experts Exchange (http://www.experts-exchange.com/videos/1358/How-to-get-a-free-trial-of-Office-365-with-the-Office-2016-desktop-applications.html), I explained how to get a free, one-month trial of Office …

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question