Documente Academic
Documente Profesional
Documente Cultură
1 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
This Microsoft Word Tips & Microsoft Word Help page offers several solutions to the question, "How do I enter data in
one place in a document and have it automatically repeated in other places?" My intention is not to reinvent the wheel,
so after a brief introduction I may simply send you on to an existing tips page or other web article containing full
explanations of some of the more comprehensive methods. See section 7, Content Controls, if you want to go directly to
information about the new Content Controls introduced in Word 2007.
1. Userform
A Userform provides a graphical User Interface (UI) with a document template which you can use to prompt your
document user to enter all pertinent data. User entered data is then populated in one or multiple locations in the
document.
See: Microsoft Word MVP Userform FAQs for an index of Userform Frequently Asked Questions (FAQS).
A basic introduction and example Userform is contain in the article "How to Create a Userform."
For more in-depth examples see my Create and employ a Userform, Custom VBA\Userform Message Box and
Validate Userform Text Entry.
2. On-Line Form
If you find a Userform daunting, or if you want to avoid VBA and macros, then you might try a Word on-line (protected)
form.
On-line forms are Word documents that have "fill in the blanks." They are like a pre-printed form with
"fields" on the screen instead of blank lines on paper.
The beauty of on-line forms is that you can fill in one field and Word will fill in or populate "most" other
designated "like" fields automatically. An example of an on-line form is provided in the following
demonstration project.
10-09-2014 15:52
2 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
Now enter one or more REF fields in your document where you want to repeat the customer name. REF
fields fill the role of the "like" fields I mentioned earlier.
Note: When adding your REF fields remember they must point to the correct target. If you rename your form
field's bookmark name (e.g., from Text1 to Customer) then your REF field must point to Customer e.g., {REF
Customer }.
Bonus Tip: You can quickly enter REF fields by typing and selecting "REF Text1" (excluding the quotes) and then
pressing CTRL+F9.
After you have entered one or more REF Text1 fields, press the Protect Form icon on the Forms tool bar.
Type a name in the form field and press TAB. Word will populate the REF Text1 fields with the name you
entered in your form field.
Word Online Forms are a powerful tool. A detailed and very informative series of articles by Dian Chapman
on using Online Forms can be accessed from links on the following Word MVP FAQ page: I'm designing a
form that needs to have "fill-in-the-blanks" lines. What is the best way to create them?
Additional notes and complications.
1. In the introduction to this section I stated that Word will fill in or populate "most" other designated "like" fields
automatically. REF fields that are located outside the main text range of the document (e.g., headers, footers, text boxes,
etc.) will not automatically update on exit from the field. However, there are some well suited work a rounds. You can use a
STYLEREF field as described in MVP Suzanne Barnhill's presentation on STYLEREF fields, or you can run a macro on exit
from the field that will update all of the fields, including REF Fields, anywhere in a document. For more on macros for
working with the field collection in Word, see: Field Macros.
10-09-2014 15:52
3 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
2. For reasons too complicated to go into here, REF and other field codes will not be updated using "calculate on exit" if the
REF field follows a TOC field in the document. Provided that you don't need the TOC to update after protecting the
document, you can simply lock the TOC field (select it and press CTRL+F11) before protecting the document. When you
need to update the TOC you can unprotect the form and unlock the TOC with CTRL+SHIFT+F11. If it is essential that the
TOC itself be "dynamic" and updated based on real time formfield text changes then you can use the method illustrated
below.
10-09-2014 15:52
4 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
Code to execute
3. Bookmarks
Probably the easiest method is to simply select and bookmark the text you want repeated and use REF fields as
described above.
The menu sequence Insert>Bookmark opens the Bookmark dialog box. Here we are creating a bookmark
"bmCompanyName."
Create the REF fields as described above, right click, and select update field
Bonus Tip: Use of the field name REF is optional in cross references to bookmark names (i.e., you can use { REF
bmCompanyName } or simply {bmCompanyName} as I have done in this example).
Bonus Tip: If you change the bookmark value, simply press CTRL+a to select all fields and press F9 to update.
10-09-2014 15:52
5 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
4. OLE Link
Simply copy the text you want repeated and paste it in the repeated location use menu sequence Edit>Paste Special.
Paste as Formatted or Unformatted text and select the radio button "Paste link." This automatically creates a bookmark
at the source location and creates a Link field at the destination locations.
5. DocProperty
Nearly all of the methods described above apply a cross reference to bookmarked text. Each has its advantages and
disadvantages.
Even the most basic User Form requires rudimentary VBA macros.
Online form must be protected with accompanying limitations
Bookmarked text is easily and accidentally deleted
A DocProperty is simple to use and much less prone to be accidentally altered or deleted. There are two types of
DocProperties, built-in and custom. To view and apply DocProperties, click File>Properties. The Summary tab lists built in
DocProperty names, the Custom tab list a dozen or so pre-named properties. Both tabs provide the user interface for
storing document information as properties.
DocProperty demonstration
Open the Properties dialog (File>Properties).
Click the "Summary" tab.
Fill in the Title, Subject, and Author fields then click "OK"
10-09-2014 15:52
6 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
10-09-2014 15:52
7 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
Now create your fields. We are going to use the three built in fields (Title, Subject, Author) and the custom
property (Badge Number) with { DocProperty } fields to populate a form.
Note: Use of the field name "DocProperty" is optional with built-in DocProperties. Field name required with
custom document properties and property name must be enclosed in quotes.
Built in and custom DocProperty fields can be used once or multiple times in each document to populate
form entries and repeat text. When all of your fields are entered simply select all (CTRL+a) and F9 to update
the fields.
FILLIN field
A FILLIN field fires a prompt when a new document is created based on a template containing the FILLIN
field, when a document containing a FILLIN field is opened, and (very unfortunately) when you print a
document containing a FILLIN field if the "Update Fields" option is checked in File>Print>Options>Printing
Options. There is no bookmark associated with the FILLIN field.
Bonus Tip: You can of course nest a FILLIN field in a Set field to create a bookmark and use REF fields as
described in the bookmark method above or ASK method below (e.g., { SET Name{FILLIN "What is your
name?"}{REF Name}).
10-09-2014 15:52
8 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
7. Content Controls
Content Controls (CCs) are a feature introduced with Word 2007. While they have some room to grow, they are already
incredibly versatile and will most likely meet or exceed your needs for repeating data in a document.
The real power of content controls lies in their ability to be bound (or mapped) to a custom XML data node contained in
the new OfficeOpenXML file format. Through this binding:
All CCs mapped to a unique data node reflect the same value.
If you change the value in a document CC that is mapped to a data node then the data node value is also
updated and changed.
Consequently, all other CCs mapped to that data node are updated and changed.
Do you see the huge impact and advantage? This means that "any and all" of your repeated data fields can serve as a
master data field. For example, if you are at the end of a long document and notice a misspelling in a client name you
can change it then and there and all previous mapped CCs will update!! You don't have to plow back to the beginning of
your document, reopen a form or property dialog, to update data.
10-09-2014 15:52
9 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
10-09-2014 15:52
10 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
Remember the method discussed above employs the content control designed for the built-in document property
"abstract." While we have renamed it "Client Name," it still manages the document property "Abstract." If you should
use a { DocProperty "Abstract" } field in the document it will display the value set in the content control. If you
change the value of the content control the value of the document property is automatically updated. However, any
DocProperty field will not display the changed value until the field is updated.
Note: Unfortunately the simply linked controls are very fragile not really practical in most situations. If you save the
file with a new name, the link between the controls is broken. I've left left the method posted here for informational
purposes.
Copy to clipboard
Sub AddContentControlAndMap()
10-09-2014 15:52
11 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
See: Installing Macros for instructions on how to set up and use the macros in this tips page.
By adding additional child nodes to the basic XML and judicious management of the mapping, you could dozens or
hundreds of content controls linked to dozens or hundreds of unique data nodes.
For your convenience I have included tools for simplifying content control mapping in a Word Template add-in: Content
Control Tools.
8. StyleRef Fields
The StyleRef Field is particularly handy for repeating/displaying main body text defined by a specific style in a header or footer. A basic
example is repeating text defined using the "Title" style shown below:
Field code
Field result
The text returned by a StyleRef is defined by several factors 1) the style name 2) applied switches, and 3) field location
in the document. In the following example I have created a character style named WordDef and applied it to first word
10-09-2014 15:52
12 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
When the fields result is displayed the resulting text is evaluated according to the following rules:
Word searches the current page, from top to bottom, for the specified style.
If the style isn't found, Word searches next from the top of the page to the beginning of the document, and
then from the bottom of the page to the end of the document.
If the \l switch is used, Word searches from the bottom of the page to the beginning and then to the end of
the document.
Note: The style referenced must be applied to text in the main body of the document. Otherwise the field will return
"Error - No text of specified style found in document."
For a full list of StyleRef field switch and position behavior, see: StyleRef Field
9. Document Variables
Lastly, the "Hidden Gems" in Word, Document Variables. Created, edited and destroyed only with VBA, Document
Variables provide a robust method for storing information. This stored information remains part of the document and is
ready for repeated using even if a document is closed and then reopened. This information is easily retrieved and
displayed in your document using the DocVariable field. The following template contains examples of the document
variable and DocVariable fields used to create a simple form. The template also provides examples of setting document
properties using VBA: VBA Template.
Note: For more on document variables, see my: Create and Employ a Userform.
10-09-2014 15:52
13 of 13
http://www.printwhatyoulike.com/print?url=http://gregmaxey.mvps.or...
That's it! I hope you have found this tips page useful and informative.
10-09-2014 15:52