Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
how to map mailmerge fields?
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 |
#2
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
how to map mailmerge fields?
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.MappedDataFiel ds 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 "b.schmidt" wrote in message ... 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 |
#3
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
how to map mailmerge fields?
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? 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.MappedDataFiel ds 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 "b.schmidt" wrote in message ... 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 |
#4
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
how to map mailmerge fields?
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 "b.schmidt" wrote in message ... 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? 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.MappedDataFiel ds 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 "b.schmidt" wrote in message ... 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 |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Substring used one Mailmerge Fields | Mailmerge | |||
Help with mailmerge fields | Mailmerge | |||
Name fields in mailmerge | Mailmerge | |||
MailMerge Fields | Mailmerge | |||
Using MAILMERGE fields within HYPERLINK fields for Merge to Email | Mailmerge |