Mail Merge Into Word Text Box

B

blabore

I have a Visual Basic .Net applicaiton that is used to setup mail merge
fields in a word document. Basically, the app creates menus in Word that
allow a user to insert mail merge fields, then when the user saves the
document, it records what mail merge fields where used, so a corresponding
data document can be created for the letter. My problem is that somehow the
mail merge fields that appear within a text box are missing when I iterate
through the mail merge fields collection (i.e. MyDocument.MailMerge.Fields).
You can reproduce the problem by creating a blank mail merge letter,
inserting a text box into the document, then put one or more mail merge
fields inside of the text box. The MailMerge.Fields.Count will remain 0. This
is a problem because when I later try to actually merge the document, Word
informs me that these fields are not in my data document. Is this a bug in
Word, or is there another set of Mail Merge fields I need to look for? Any
help would be appreciated.
 
G

Graham Mayor

Text boxes are not in the text layer of the document and do not work
correctly with merge fields within them. Use a frame or a table.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
B

blabore

Graham,

Thanks for the help. Do you know of any way to at least detect if a text box
contains one or more merge fields? They way my app is setup, users pretty
much have full control over where they insert the merge fields. If possible,
I'd like a way to controls this behavoir, to avoid possible errors when the
merge is exectuted. Thanks again.
 
G

Graham Mayor

Frankly no - though a macro to convert text boxes to frames might work

Sub BoxToFrame()
Dim oShp As Shape
For Each oShp In ActiveDocument.Shapes
oShp.ConvertToFrame
Next oShp
End Sub


--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
B

blabore

Graham,

Thanks again.

Graham Mayor said:
Frankly no - though a macro to convert text boxes to frames might work

Sub BoxToFrame()
Dim oShp As Shape
For Each oShp In ActiveDocument.Shapes
oShp.ConvertToFrame
Next oShp
End Sub


--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top