Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Mailmerge and Fax / May 2007

Tip: Looking for answers? Try searching our database.

how to map mailmerge fields?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
b.schmidt - 09 May 2007 11:49 GMT
hi,

I added a csv-file as DataSource to a Word Document (I'm using VSTO, C#
and Word 2007), which worked fine. Now I was wondering, how I can map
the columns I declared in the first line of the csv-file to the fields
Word uses for mailmerge?

I tried to use MappedDataFields, but whenever I tried to write to a
MappedDataField.DataFieldName it tells me that this property is read-only?

I'm a bit confused...

best regards,
Bernhard
Peter Jamieson - 09 May 2007 12:59 GMT
> the columns I declared in the first line of the csv-file to the fields
> Word uses for mailmerge?

You only need to map fields if you are using merge fields that rely on
mapping, such as ADDRESSBLOCK and GREETINGLINE, or if you want to use
mapping and use the standardlist of "Address Field" names with the "\m"
switch in the MERGEFIELD fields.

Not sure about Word 2007 but in Word 2003 you can't assign to the name. You
can work around this by assigning one index to another, e.g. to assign the
Address field "City" to the first column in the data source in VBA, you
might use:

Dim objMDFs As MappedDataFields
Set objMDFs = ActiveDocument.MailMerge.DataSource.MappedDataFields
objMDFs(wdCity).DataFieldIndex = 1
Set objMDFs = Nothing

i.e. if you want to assign the data source fied called "Town" to the mapped
field "City", you will probably need to iterate through the
ActiveDocument.MailMerge.DataSource.DataFields collection looking for the
field whos ename is "Town", and use its index value to set the
MappedDataFields.DataFieldIndex.

Peter Jamieson

> hi,
>
[quoted text clipped - 10 lines]
> best regards,
> Bernhard
b.schmidt - 10 May 2007 13:09 GMT
Thanks, using the DataFieldIndex worked. :)

Strange though that the MappedDataField.DataFieldName is stated as
"Read/write" on MSDN, although Visual Studio says it's read-only...

http://msdn2.microsoft.com/en-us/library/bb224166.aspx

Thank you very much for your help. :)

Peter Jamieson, am 09.05.2007 13:59:
>> the columns I declared in the first line of the csv-file to the fields
>> Word uses for mailmerge?
[quoted text clipped - 36 lines]
>> best regards,
>> Bernhard
Peter Jamieson - 10 May 2007 14:12 GMT
> Strange though that the MappedDataField.DataFieldName is stated as
> "Read/write" on MSDN, although Visual Studio says it's read-only...

Let me put it this way: I always try to avoid basing any statement on the
evidence of the official documentation alone, whatever its origin. When I
have, I've almost invariably regretted it. And that hasn't changed for over
25 years...

Peter Jamieson

> Thanks, using the DataFieldIndex worked. :)
>
[quoted text clipped - 47 lines]
>>> best regards,
>>> Bernhard

Rate this thread:






 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.