
The Anchorage
Personal website of Gregory K. Maxey, Commander USN (Retired)
The information, illustrations and code contained in my "Microsoft Word Tips" are provided free and without risk or obligation.
However, the work is mine. If you use it for commercial purposes or benefit from my efforts through income earned or time saved then a donation, however small, will help to ensure the continued availability of this resource.
If you would like to donate, please use the appropriate donate button to access PayPal. Thank you!
This Microsoft Word Tips & Microsoft Word Help page introduces and provides instructions for using the "Content Control/Variable/Bookmark & Document Property Tools (or CC/V/BM & DP)" Word template add-in.
This add-in was originally developed with longtime friend and Word MVP Graham Mayor. It is the culmination of well over a hundred hours of development and testing. Unfortunately due to personal business and unplanned travel, Graham was unavailable to assist with the design and testing of the features added in version 3.0. His presence was sorely missed!!
However, as nature abhors a vacuum, friend and Word MVP Jay Freedman stepped in and on several occasions, he tried to break it and succeeded. Jay's thorough, critical review and testing have been instrumental in the publication of version 3.0.
The impetus for this project is the lack of visibility and everyday user access to two very useful and powerful Word features; the "document variable" and the "mapped" content control.
Note: "Qualified" types as mentioned in this tips page, refers to the types of content controls available in the applicable Word application version in use.
We have retained the features for working with bookmarks and document properties introduced in our, now obsolete, "Document Variables, Bookmarks & Properties" add-in. This results in a single compact and versatile add-in for working with all five principal data storage collections in your documents.
Version 3.0 prompted by user feedback and my own peek at the soon to be released Word 2013, provides a significant upgrade and redesign of the add-in content control features. A brief summary of the changes included in version 3.0 are provided below.
Version 3.3 provides bug fixes to the base version uncovered during additional testing and a few minor enhancements.
Notes:
1. Testing and development with this add-in has been limited to the U.S. English version of Microsoft Word 2007/2010/2013 (pre-release) in a Windows7 operating environment and the U.K. English version of Microsoft Word 2007/2010 in a WindowsXP operating environment. Lack of access, time and resources has prevented further testing. Unfortunately feedback confirms that the variances in other language versions of the Microsoft products involved can prevent the add-in from functioning properly in those versions.
2.
Items annotated using rose colored flags in the illustrations below indicate changes and additions introduced in version 3.0.
3.
With any large development work changes are inevitable. While the illustrations were current with the release of version 3.0, there may be future changes that are not fully or accurately illustrated.


When the add-in loads it alters the Ribbon as follows:

Notes:
1. This feature may affect the normally displayed size of the built-in "Hyperlink, Bookmark and Cross-Reference" controls. These controls will display size "normal" when displayed with the add-in button control regardless of how they might display (i.e., large or normal) on their own.
2. This feature was the single biggest point of contention between Graham and me during development. He wanted the controls on the Insert tab and I felt they belonged on the Add-Ins tab. The result is our form of compromise.

The add-in consists of a three part multi-page control and common elements. The functions of the common elements and the "Lists" tab page is described below:
Note: Values in certain Built-in Document Properties are calculated values and cannot be changed.
Note - One or more command button or other control will be disabled depending on which collection option is selected.
The "User Notification and Action Panel" depicted below is is shown configured to delete the selected bookmark:

Note: The location sort is based on the item's location in the various document story ranges starting with the main text range, then footnote range, followed by end note range etc., and not how the item might physically appear in the document.
Note: When "Delete content" is checked the "Preserve bookmark" checkbox is automatically unchecked and disabled.

Using the "Create Variables, Custom Properties or Bookmarks" tab you can define and create new document variables, custom document properties or bookmarks.
Note: Word provides 35 pre-defined custom document properties (without values). This field is a combo box which allows you to choose from one of the pre-defined properties and assign a value or define your own new property name.
Note: Values for custom document properties are type dependent. For example, if you opt to create a "Date" type custom document property then the value you define must be in a valid recognizable date format.
This portion of the add-in has been extensively modified. Users can now create and map content controls directly to a targeted customXMLNode. It also provides mapping capability for rich text controls (Word 2013 only) and the new repeating section control introduced with Word 2013.

The "Create/Manage Mapped Content Controls" tab page consists of a two part multi-page and a common "User Notification Panel."
Note: The temporary XMLMapping.txt used for viewing is automatically deleted when the add-in is unloaded and closed. If you want to retain the file you can save it using a different file name while Notepad is open.
Users can create their own XML script files and add customXMLParts to the document using the "Add new part ..." feature of the Custom XML Part list. This opens a dialog allowing the user to select the XML script file to load.



After selecting a customXMLPart, you can create and map content controls to the nodes. Using the following illustrations, I will show you how to create and map content controls to a XML node.


Note: It is important that you define a unique title property to each content control that you create and map using this add-in. You should also assign a unique title property to any unmapped content control that you create using the controls in the Word Developer tab Controls group. Using duplicate titles, deleting titles or changing title property definitions of mapped content controls can affect the accuracy of the content control "Delete" processes used in this add-in.

Note: Repeating section content controls are new and subject to change prior to official release of Word 2013. I'm still learning about them myself and I'm not entirely convinced that Microsoft has gotten them right!

Note: In Word 2007 and 2010, to select a content control in the document for mapping you must select the physical control (not just the control range). To select the physical control you select (click on) the control's title tab.
By changing the tree-view configuration, you can select a node and the node's value is displayed either directly in the add-in (< 500 characters) or externally using Notepad.

Using the the "Delete," Append," "Insert" or "Reset/Clear" node commands, you can modify the customXMLPart data structure and content. In the following illustrations, I'll demonstrate inserting a node.




Note: There are a few rules associated with naming XML data nodes.
1) Names can contain letters, numbers, and other characters.
2) Names cannot start with a number or punctuation character.
3) Names cannot start with the letters xml (or XML, or Xml, etc.)
4) Names cannot contain spaces. The add-in will automatically convert any spaces you enter into an underscore "_" character.

After inserting and mapping a picture content control to the new "Picture" node shown above, you can, if desired, view the node content. Content that exceeds 500 characters is displayed using Notepad.
Note: The text shown below represents only a small part of the total text that defines a digital image. Viewing content of a single node containing a picture definition or an entire XML Part containing pictures can take a long time for Notepad to process.



Using the "Delete Mapped Content Controls/Mapping Tools" tab you can use several methods to remove unwanted mapped controls from your document.
Note - All delete actions initiated from this page tab override any "Content control cannot be edited", "Content control cannot be deleted" and unsecure (no password) document protection for forms.
Note: This is where unique title discipline mentioned earlier becomes important. When you insert a cross reference content control using this add-in or if you copy and paste a mapped content control in your document to another location in your document, you have created for all intents and purposes a clone. It is only logical that the clone will retain the title and XML mapping path. Should you later change title of a like mapped content control it could affect the accuracy of this list and the accuracy of the subsequent delete actions.
Note: By the nature of mapped controls if you delete the content in one the content is deleted from all like controls.
Note: This action affects all document mapped contents and is irrevocable (except for immediately closing a document without saving changes). Therefore we have added a confirmation step. When the command button is initially selected a confirmation notification is displayed and the command button caption is displayed in red lettering. Clicking the command button displaying a red letter caption executes the event without additional notification or warning.
The "User Notification Panels" provide various alerts and notifications. The add-in alerts the user to restricted or invalid events using red alert text in the appropriate "User Notification Panel" and an audible default system "Beep." A typical alert notification is shown below:

Several processes in the add-in require documents protected for forms to be temporarily unprotected to complete. When a password is required the user is presented with the following form:

Note: These processes are performed automatically without any user interaction in unsecure (no password) protected forms.
The add-in will parse the document for untitled and duplicate titled (non-mapped) content controls each time it is initiated. As content controls are listed by title they must have either a title property or a temporary label in lieu of a title property. Careful and thoughtful application of content control titles will eliminate this notification.

Note: It is intuitive and expected that like mapped content controls will have the same title.
This Word template add-in can be loaded manually from any template storage directory or automatically from your Word startup folder. For more on template add-ins and how to load them, see the heading: Organizing Your Macros/Template Add-ins at: Installing Macros.
The add-in employs a Microsoft TreeView Control 6.0 (SP6) to list the CustomXMLNodes available for content control mapping. This control requires a library reference to MSCOMCTL.OCX (Windows Common Controls ActiveX Control DLL) which may be missing or require registering on your system, see: Add-In Technical Notes. The file MSCOMCTL.OCX is included in the add-in installation package. Where you locate/place this file will depend on your operating system.
Instructions for installing and registering the file are provided in the "Read Me" text file that is part of the installation package.
That's it. I hope you find the add-in helpful and as much fun to use as it was to create!! Download the add-in and associated files here: CC/V/BM & DP Tools.
I can't stress enough the encouragement and cooperation by Graham Mayor or the technical contributions he made. Please visit Graham's web page for his slant on the add-in, its features and tips for installation at: Graham's Add-In Description.
Do you want to make a payment for consulting work or donate to help support this site?
PayPal is a safe, easy way to pay online.
Use the appropriate currency "Donate" button to make a payment or donation.