Problem: Remove inconsistencies between documents. Let’s say I write 5 sentences for "generic provision" (GP) in document A, and use that same language in document B. But if I edit the GP language in document A, I can easily forget to edit it in document B.

To be more specific: let's say GP encompassed: "This is s1. This is s2. This is s3." You have the above GP language in both document A and B. Let's say I edited the GP language to remove the last sentence, revealing: "This is s1. This is s2." I want the new GP language to automatically update in document 1 and document 2 where it exists.

Ideal solution: I can write the language once and save it as a template that can be used across documents. For instance, I write up the language, save it as “Market Standoff Language,” and then invoke that language in multiple documents. When I want to make an edit, I only change the template. All the places where the language was invoked updates automatically. I don’t have to go through each document to change the language manually.

In summary: ideal solution will have all of the following: (a) generic template creation, (b) usability across multiple documents, AND (c) automate update.

What I’ve tried:

  1. Adding selections to building block. This allows me to do (a) and (b), but NOT (c). The building block does not update automatically. I would have to find and reinsert the selection, defeating the purpose of the exercise. See What's a good way to share a value in multiple places in a Word document?
  2. Add selection to autotext. Same issues as (1)
  3. Create Rich Content Control under the developer tab. It does not allow me to do (b) or (c). See How to create a custom "Document Property"? or Add QuickPart Like Date or Title in Word
  4. Create a bookmark and cross reference. It does not allow me to do (b). I can do (c) if I highlight the entire document and press F9
  5. Create custom document property. Does NOT fulfill (b). Once you create the document property quickpart, it does not carryover to another document, like a building block. See Word Create Several Document Properties in Quick Parts
  6. Edit document properties. Insert Quickparts → document property. Not fulfill (b). But it does update without having to change anything.
  7. Create bookmark and use field reference. Not fulfill (b) Create bookmark then insert field → Formula → REF and paste bookmark. If you edit original text, and highlight all and press F9, the connected text automatically updates
  • What do you mean by "if I edit the language"? Are you talking about industry jargon or French? What is "Market Standoff Language" and how would you "invoke" it in a Word document? You can set a proofing language. But that does not seem to be what you are talking about. – teylyn Jul 13 '16 at 4:00
  • As an observation, your (a),(b),(c) list of requirements in your Question title is in a different sequence from the list in your Question - might be good to fix that as soon as possible as it makes references to your text harder than it could be. – user181946 Jul 13 '16 at 8:37

Nothing is going to do (c) (automatic update) without some help.

The simplest way to achieve almost everything else is to put all your shared material in a single document (or in fact, you could use multiple documents).

Bookmark each item.

To use the item in a "client" document, use an INCLUDETEXT field that specifies the fullname of the document and the bookmark.

e.g. { INCLUDETEXT "" genericprovision }

You do not get automatic update, but the user can update all shared texts in the document body by using ctrl-A, F9 (or Mac equivalent, in which case you need to be sure that the document full path+file name is the same on both Windows and Mac platforms).

To me, key questions for any such approach include:

  • do all the users understand how it works (e.g. so they are not put off by the mass of fields and/or content controls) ? In particular, who will create/maintain these documents? How will they know what shared chunks are available? With a large number of shared chunks, how do you avoid creating the same chunk with more than one name? How do you manage the situation where two document share a chunk, but at some point the requirement changes and they each need chunks with different content?
  • will the approach deal with the sheer number of insertsions you might have in a single document
  • do you need to deal with any legal/compliance regime, e.g. one that says that you need to ensure that you have copies of any document as it appeared at any given point in time (this can be a major headache for schemes that "autoupdate")

If you need a more complete update (including headers and footers) then you really have to consider using code, e.g. a VBA autoopen macro.

In my view, as soon as you use VBA code, the game changes anyway and it might be better to consider another approach. For plain text chunks, for example, you could create a shared document with content controls linked to one or more custom XML parts. When a "client document" was opened, its autoopen macro would open the shared document and copy the custom XML chunks, overwriting the existing ones. But I'm not sure that would work so well with rich text chunks, as each chunk is stored as a complete Flat OPC XML document, and they can be quite large. You would in any case need Word 2013 or later to use that (not sure about Mac Word 2016 as the features related to content controls have recently changed, but there is still no VBA support for customxmlparts or content controls).

  • Thanks so much for this awesome post. Do you have any advice for general search terms to use to look more into the VBA macros you're talking about? I'd like to research that further. – user3314418 Jul 14 '16 at 0:56
  • 1
    For content control stuff I would have a look at gregmaxey.mvps.org/word_tip_pages/content_controls.html – user181946 Jul 14 '16 at 7:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.