The on-entry/exit macros return the focus to the uncompleted field. If you
add the entry macros to all the fields (use the macro on the web page to do
that) you will not be able to tab out of the uncompleted field. You need
only put the exit macro on fields that must be completed.
The save macro was merely a fail safe for the occasion when a user clicked
save without visiting a required and thus uncompleted field. However it can
be restricted to the required fields only - Repeat the marked section for
each required field. The macro should select that field selected when run
and will not let you save until all the required fields are filled.
Dim orng As Word.Range
Dim ofld As FormFields
Set orng = ActiveDocument.Range
Set ofld = orng.FormFields
For i = 1 To ofld.Count
ofld(i).Select
'*****************************************
If ofld(i).name = "Text1" Then
If ofld(i).Result = "" Then
MsgBox ofld(i).name & " must be completed"
Exit Sub
End If
End If
'*****************************************
If ofld(i).name = "Text3" Then
If ofld(i).Result = "" Then
MsgBox ofld(i).name & " must be completed"
Exit Sub
End If
End If
Next i
ActiveDocument.Save
End Sub
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site
www.gmayor.com
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
TechWriter wrote:
> Thanks again Graham.
>
> The code below works if all of the fields on the form are required.
> However, on my form, only some of the fields are required. How do I
> specify in the code that the alert message should appear only if the
> required fields are not completed? I used this OnEntry and OnExit
> modules you sent me earlier for the required fields.
>
> In addition, how do I set the focus back to a particular required
> field after the user has tabbed out of the field without entering a
> value?
>
> Thanks in advance.
>
>
> "Graham Mayor" wrote:
>
>> If the user is closing the form, what difference does it make
>> whether the form is completed or not?
>> You could for example intercept the save command with the following
>> macro in the same template module -
>>
>> Public Sub FileSave()
>> Dim orng As Word.Range
>> Dim ofld As FormFields
>>
>> Set orng = ActiveDocument.Range
>> Set ofld = orng.FormFields
>>
>> For i = 1 To ofld.Count
>> ofld(i).Select
>> If ofld(i).Result = "" Then
>> MsgBox "All fields must be completed"
>> Exit Sub
>> End If
>> Next i
>> ActiveDocument.Save
>> End Sub
>>
>>
>> --
>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>> Graham Mayor - Word MVP
>>
>> My web site www.gmayor.com
>>
>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>
>>
>> TechWriter wrote:
>>> Thanks Graham.
>>>
>>> This code prompts the user on exit from the field. Is there a way to
>>> prompt the user to complete any required field when closing the form
>>> and prevent the user from closing the form without completing the
>>> required field?
>>>
>>> Thanks in advance.
>>>
>>> "TechWriter" wrote:
>>>
>>>> How do I make text boxes required fields in a Word form? e.g.,
>>>> Require a user to complete a particular field and display a
>>>> notification message when the user tries to save the message
>>>> without completing the required field.
>>>>
>>>> Thank you for your help.