mail merge field names

E

Edwin Patrick

How can I Loop through all the mail mertge fields in a document
and display the field Name?
 
D

Doug Robbins

Dim af As Field
For Each af In ActiveDocument.Fields
If af.Type = wdFieldMergeField Then
MsgBox af.Code
End If
Next af

Use the Mid() function to get rid of the MERGEFIELD if you don't want to
display it.

--
Please respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
Doug Robbins - Word MVP
 
E

Edwin Patrick

Thanks for your help.
But I do not get the field name I get a error message at the line "msgbox
af.code" since code is a field type of "Range".
I am still in the same problem now.
All I need to do is to loop through all the merge fields in the
word document and create an array and replace the mergefields with the
values I get from the database.
Any suggestion will be of great help.
 
P

Peter Jamieson

Try

af.Code.Text

But you will have to strip off the MERGEFIELD, white space, and any quotes
to get the name of the field, and it may not match the one in the data
source if, for example, the data source has field names longer than around
32 characters. And so on...

Peter Jamieson
 
E

Edwin Patrick

Thanks a lot guys.
It worked.
many thanks.

Peter Jamieson said:
Try

af.Code.Text

But you will have to strip off the MERGEFIELD, white space, and any quotes
to get the name of the field, and it may not match the one in the data
source if, for example, the data source has field names longer than around
32 characters. And so on...

Peter Jamieson
 

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