View Single Post
  #2   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Doug Robbins - Word MVP
 
Posts: n/a
Default retrieving merge field names

The following VBA code will give you the names of the mergefields in the
activedocument:

Dim af As Field
For Each af In ActiveDocument.Fields
If af.Type = wdFieldMergeField Then
MsgBox Mid(af.Code, InStr(af.Code, Chr(34)))
End If
Next af

You may need to strip off the quote marks for your purposes.

Can't help you with C#

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"Francisc Molnar" wrote in
message ...
Hi all
I am programmatically(C#, using the PIA) changing the datasource for a
word
document, wich contains some merge fields.
In order to avoid the prompt wich signals that certain fields have no
correspondent in the new datasource, I would like to obtain the merge
field
names and check if the datasource has a corresponding column for each one
of
them (if not - I will not call MailMerge.Execute()).
I cannot find a reasonable way to retrieve the merge field name (I cannot
obtain it like this: field - field ... it's not always the same.)
Should I parse the MailMergeField.Code.Text ? ... I think it's not a very
good idea...
Thanks