Required Fields in Word Forms

T

TechWriter

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.
 
T

TechWriter

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.
 
G

Graham Mayor

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

<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
T

TechWriter

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.
 
G

Graham Mayor

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

<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
Joined
Jul 21, 2017
Messages
1
Reaction score
0
Hi,
I'm creating a form in Word which is completed progressively by a range of people (eg started by someone, added to by someone else, signed off by another). At the final sign-off, I require one field to be completed (called RequiredField) on the condition that a previous field (TriagedBy) has text in it (ie not null).
I found this thread in my search and it works beautifully in prompting the user to complete the "RequiredField", but I need help in working out the code so that the prompt only occurs if the previous field "TriagedBy" has been completed. I'm not using the on-entry/exit option at the moment.
Thanks

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top