Understanding Forms
Forms enable you to collect information from people via a fill-in-the-blanks interface. The forms you create in Word can be printed and completed on paper or filled out from within Word. With a little extra programming know-how, you can connect them to an XML data system or an Access database.
Starting in version 2007, Word introduced a whole new class of form fields called content controls, which are used throughout Office 2010 and 2013 applications as a means of interfacing with external data sources. These content controls have some great capabilities that were not present in Word 2003 and earlier, but they also have a few drawbacks. Therefore, Word 2013 also provides access to—and support for—legacy form controls that work in backward-compatible documents. In the following sections, you learn about both.
Designing a Form
The first step in creating a form is to create an ordinary Word document that contains all the “fixed” text used on the form. For example, before creating a Name field that the user fills in, type Name in the document and leave some space after it for the field to come later. To ensure that there is enough space for the fields, you might enter dummy characters where they will go, like this:
Name: &&&&&&&&&&&&&&&&&&&&&&&&
Address: &&&&&&&&&&&&&&&&&&&&&&&
City: &&&&&&&&&&&&&& State: && ZIP: &&&&&-&&&&
If you simply type the text and placeholders into a document, though, the form might not be as tidy as you would like. Notice in the preceding example how the Name and Address text, having different numbers of characters, start the field at different spots. Adding a Tab character after the colon for each label might help with that:
Name: |
&&&&&&&&&&&&&&&&&&&&&&&& |
Address: |
&&&&&&&&&&&&&&&&&&&&&&& |
City: |
&&&&&&&&&&&&&& State: && ZIP: &&&&&-&&&& |
There’s still an alignment issue with the State and ZIP, though. They aren’t aligned with anything in particular; they’re just hanging out there after City. So, what if you put the whole thing into a table, like this?
Name: |
|
|
|
|
|
Address: |
|
|
|
|
|
City: |
|
State: |
|
ZIP: |
|
As you can see, a table can be a great help in creating a form on which the fields and labels align in an orderly way. If you define separate cells for each label and entry, you don’t need the placeholders to define where the fields will go. Tables are not appropriate for every form project, but they’re a good addition to your toolbox of techniques.
The form does not necessarily have to be in a single table; you could divide it into several tables, or you could use a combination of regular text and tables. Figure 16.5 shows an example. This is pure text and table at the moment; it contains no form fields.
Figure 16.5. Create the skeleton of a form to be populated with form fields later.
Using whatever layout you find the most expedient for your situation, design the form and lay out all its pieces with placeholders, as in the preceding examples. Here are some tips:
- Arrange fields in logical groups—Group the information into sections based on the type of information being gathered. For example, in Figure 16.5, the contact information is in one group, and each question being asked of the applicant is in a separate group. Each group is in its own table in this example, but you don’t necessarily have to use tables for yours.
- Place fields in the expected order—People expect certain fields to be in a standard order. For example, they expect City to come before State. If you mix them up, users may have problems filling out the form.
- Plan for different types of fields—When you actually insert the fields, you can use not only text boxes, but drop-down lists, option buttons, and check boxes. If you think any of those will be useful, insert placeholders for them—and leave enough space for them. For example, a set of option buttons takes up more space than a drop-down list.
- Leave enough space for user input—Users will be frustrated if their information won’t fit on the form. Leave plenty of space for names, addresses, and so on. Maximilian Theophilus Kreutzcampf will thank you for it.
- Be clear with your labels—Make sure it’s obvious what users should put in each field. For example, suppose that you have a City of Birth field, followed by a field labeled Date. Do you want the date of birth there, or the current date? Fifty percent of your users will probably guess wrong.
Saving a Form as a Template
The form isn’t finished yet, of course, but now is a good time to save your work as a template. You’ll want a template file, not a regular document file, because users will be creating new documents based on it.
To save the form as a template, follow these steps:
- Choose File, Save As, and double-click Computer. The Save As dialog box opens.
- Open the Save as Type list and choose Word Macro-Enabled Template (.dotm).
- If you aren’t planning on storing macros in the template, you could go with Word Template (.dotx) instead.
- In the File Name box, type the name for the template file.
- Click Save. The template is saved.
Differentiating Between Content Controls and Legacy Fields
Now, you’re ready to start inserting the form fields. There are two kinds, though—content controls and legacy form fields.
Content controls are a natural choice if all the users of your form are using Word 2007 or later. Here are some of the advantages:
- There are more types of controls, including rich text, pictures, and a calendar/date picker.
- The document doesn’t have to be protected for forms, so you won’t have trouble with disabled commands such as spell-checking that plague protected forms.
- You can set a content control so that it can’t be deleted or so that it unlinks itself immediately after it’s filled in.
- Their XML format makes form fields ideal for connecting with XML data sources.
There are a few things you can’t do with content controls that the legacy form fields can, however:
- You can’t save the data only in a separate Word document.
- You can’t easily link a macro to a control.
- You can’t automatically format input in a predefined number format (such as currency).
- You can’t set up a form field that performs a calculation.
- You can’t limit the length of an entry.
- You can’t fill out a Word form containing content controls using Word 2003 or earlier.
This chapter focuses mostly on content controls, but it also provides information about the legacy form fields in case you need their capabilities or their backward compatibility.
You can combine the two types of fields in a single form. However, beware when combining the two field types, because they work differently behind the scenes. Here are some reasons to stick to one field type or the other:
- Saving data only—If you want to save the data only from the form into a plain text file (covered later in this chapter), use legacy fields only. This won’t work with content control fields.
- Supporting Word 97–2003 users—If the form will be filled out by people who use earlier versions of Word, use legacy fields only, and make sure you save the template as a Word 97– 2003 template (.dot), not a Word 2013 .dotx or .dotm file.
- Preparing a database front end—If you are creating the form as a user interface for entering data into a database, check with the database developer to find out what type of fields you should use—content controls or legacy fields. Stick only with that type. Don’t mix and match, because that makes the programming of the connection difficult or impossible.
On the other hand, if you are creating a form to be printed or to be filled out in Word 2007 or later only and saved in the native Word 2013 document format, you can use both field types freely.
Displaying the Developer Tab
To work with forms, you need to work with the Developer tab. It does not appear by default. Here’s how to display it:
- Choose File, Options.
- Click Customize Ribbon.
- Mark the Developer check box on the list on the right side of the Word Options dialog box.
- Click OK.
The Developer tab appears just to the right of the View tab. On the Developer tab is a Controls group that contains the buttons you need to build your form.
The Controls group contains eight buttons for content controls, plus one button for repeating section content control and one button for legacy controls. That latter button opens a palette of the legacy controls, as shown in Figure 16.6.
Figure 16.6. You use the Controls group on the Developer tab to insert form fields.
The Design Mode button in the Controls group toggles the form between Design Mode (where fields can be added and edited) and regular mode (where fields can be used to collect information).