Mail Merge Generated Document - How to keep field in a paragraph


Pursuing an idea to generate some documentation via a workbook and have hit a small curiosity I don't know how to fix.

In the Word document (merge template) I have a paragraph under a table that is designed to be Table 1 ... then (automatically) Table 2 ... under the next table and so on.

If I copy/paste the template table & paragraph it works fine.

However, as soon as I generate a new document from the template that field in the generated paragraphs reverts to plain text and I've lost the ability for it to auto-number itself.

What do I need to do to retain this auto-numbering capability.

sample workbook (with macro/template) attached (.xslm)

follows on from:

Word & Excel 2010:
LVL 50
Who is Participating?
GrahamSkanConnect With a Mentor RetiredCommented:
From the start, most of Word's features (macros, styles, bookmarks. fields, etc.) have been there simply as aids to producing a well-formatted printed document. The output from a mail merge is expected to be the end of the production process, so all bookmarks are dropped, and most fields converted to fixed text.

This is not a problem if the destination is fax, printer or email, but the possibility of outputting to another document does raise expectations. You would either have  to use a VBA emulation of mail merge, or do some post-merge work (manual or programmatic) to meet those expectations.
PortletPaulfreelancerAuthor Commented:
right, I don't consider mail merge to be the end of the chain here, just part of the equation

so, either I emulate mail merge to build multiple tables in a loop... yuk

or 'post process', so the desire now is, what macro magic would match the style of these paragraphs and re-insert the 'field' for auto numbering behaviour?

a sample would probably be sufficient - I can fix the details
PortletPaulfreelancerAuthor Commented:
maybe I need to rethink my attitude to using Mail Merge?

any recommended sample macros that would repeat a (table+paragraph) structure to a new document?

I do have another need to reproduce rows of a table that Mail Merge does not do very well (it wants to repeat the table headings).

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

GrahamSkanConnect With a Mentor RetiredCommented:
We don't know your wider objective, but it sounds as if you might find building blocks useful.
You can create the fully formatted table and field, select it and save it as a 'Quick Part'. Then you can run some code like this which will add another such block at the end of the current document.
Private Sub InsertBB()
Dim objTemplate As Template
Dim objBB As BuildingBlock

Set objTemplate = Templates(1)
Set objBB = objTemplate.BuildingBlockEntries("TablePlusTitle")

objBB.Insert ActiveDocument.Bookmarks("\EndOfDoc").Range
End Sub

Open in new window

PortletPaulfreelancerAuthor Commented:
rudimentary I know, but the broader picture was hinted at in the earlier question...

The overall objective is to help drive accurate documentation that evolves over time with numerous cross-references, from requirements to test plans and operational instructions

This is performed by a broad geographic spread of individuals (and translations are required)

The concept (and that's all it is right now) is to maintain all (or most) of the cross-referencing material in a workbook instead of Word docs - then derive parts of the needed Word docs when it is logical to do so. Ideally there would be some more robust toolset to undertake this - but there isn't - so it's the ubiquitous Excel/Word I'm resorting to.

The starting point is that I do not want to commence or control this from Word - it must be controlled from the Workbook - and Word elements generated from it.

nb: Not whole (final) documents are intended from the Workbook - just the numerous tables (with cross-references) that can be merged (manually) into the manually prepared deliverable documents.

appreciate any guidance really - right now this is conceptual - I want to build enough to be a 'proof of concept' really. samples and/or good references are always welcomed - I'm not expecting vba scripts of several 1000 lines :) - well not on the basis of one question anyway.

Not sure if this helps at all.

back to a question - where would the 'Quick Parts' be stored? and how are they referenced? (looks like I get to name them). Would these (or could these) be stored in a single embedded word doc?

ps: it's been many many years since I delved into VBA, but I'm not afraid of it, and once I get into the swing of it could be considered better than beginner (well I hope so).
GrahamSkanConnect With a Mentor RetiredCommented:
It might be worth assembling a structured document for use as the mail merge main document and then executing the merge.

With or without mail-merge, you will almost certainly need some VBA code.

If you need any help with code is solely or largely Word-orientated, can you remember to add Word to the relevant Zones? It might help to get more Word experts interested.
PortletPaulfreelancerAuthor Commented:
I did include Word as a topic - didn't I?

>> I will stress - the control of execution MUST be from Excel, NOT Word... on this I will not bend.

My additional desire is to embed any Word files(s) required into the Workbook so that versioning and distribution are simplified
e.g. v1 workbook has v1 embedded document and can survive on its own merits after v1.1 is issued and so on.
GrahamSkanConnect With a Mentor RetiredCommented:
Yes, sorry. I was looking in the wrong place.

In VBA, you can work on documents (including workbooks, powerpoint presentations, outlook items &c) belong to any Office application from any other Office application.

The Word user interface only allows saving a selection as a Quick Part to a template. I'm pretty sure that can be worked around, e.g. renaming the template as a document later. There isn't a fundamental difference between a document and a template - just name and usage. However, if mail merge is to be abandoned at the initial stage, embedded templates would be more logical.

Actually, you might be able to use one template only, containing all the blocks, but with graphic images of what each button will add, positioned where the document objects currently are.
PortletPaulfreelancerAuthor Commented:
thanks for the tip on 'QuickParts' to be frank that entire piece of Word had escaped my attention. This proved to be an amazing reference on that topic:

But, I now have  another concern. If QuickParts are stored in the or Building Blocks.dotx than these could be really troublesome for my intended purpose (broad distribution without complex dependencies).

Additionally, while that URL above provided some VBA related to QuickParts, I still haven't seen one which:
a. chooses a quickpart, and
b. uses that quickpart like a mail merge template (i.e. repeats the quickpart filled-in with data from Excel)

Do you really believe defining quickparts can work via an embedded document in Excel
(and used by someone half-way around the world)?
PortletPaulfreelancerAuthor Commented:
I'm not at all sure if quickparts will survive within a document embedded into Excel, but at least i now know something about their existence  thanks for that.

Thanks for the various pointers. I will still be working on this concept on  off for a while I think and will probably be back for more questions.

Thanks & good luck
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.