"Mail Merge" System for XML and Microsoft Word
Posted
by Franky Braem
on May 19th, 2000
An example
When you have a customer-database and you want to write a letter to each of your customers, the only thing you have to do is to create a Word-template and a XML-file with the data of the customers.
This is an example of a XML-file with customer-data:
<?xml version = "1.0" ?>
<!DOCTYPE DOCUMENT [
<!ELEMENT DOCUMENT (CUSTOMER)*>
<!ELEMENT CUSTOMER (NAME, ADDRESS, ORDERS)>
<!ELEMENT NAME (LASTNAME, FIRSTNAME)>
<!ELEMENT LASTNAME (#PCDATA)>
<!ELEMENT FIRSTNAME (#PCDATA)>
<!ELEMENT ADDRESS (STREET, POSTAL, LOCATION)>
<!ELEMENT STREET (#PCDATA)>
<!ELEMENT POSTAL (#PCDATA)>
<!ELEMENT LOCATION (#PCDATA)>
<!ELEMENT ORDERS (ITEM)*>
<!ELEMENT ITEM (PRODUCT, PRICE)>
<!ELEMENT PRODUCT (#PCDATA)>
<!ELEMENT PRICE (#PCDATA)>
]>
<DOCUMENT>
<CUSTOMER>
<NAME>
<LASTNAME>Braem</LASTNAME>
<FIRSTNAME>Franky</FIRSTNAME>
</NAME>
<ADDRESS>
<STREET>Jan Van Rijswijcklaan</STREET>
<POSTAL>2000</POSTAL>
<LOCATION>Antwerp</LOCATION>
</ADDRESS>
<ORDERS>
<ITEM>
<PRODUCT>Computer</PRODUCT>
<PRICE>54.995</PRICE>
</ITEM>
<ITEM>
<PRODUCT>Printer</PRODUCT>
<PRICE>12.990</PRICE>
</ITEM>
</ORDERS>
</CUSTOMER>
<CUSTOMER>
<NAME>
<LASTNAME>De Smet</LASTNAME>
<FIRSTNAME>Nathalie</FIRSTNAME>
</NAME>
<ADDRESS>
<STREET>Kruidtuinlaan</STREET>
<POSTAL>1000</POSTAL>
<LOCATION>Brussel</LOCATION>
</ADDRESS>
<ORDERS>
<ITEM>
<PRODUCT>GSM</PRODUCT>
<PRICE>9.895</PRICE>
</ITEM>
</ORDERS>
</CUSTOMER>
</DOCUMENT>
This is an example of a Word-template:
Properties
Property Type Description DocumentPrefix String The name of each new document is a number. With this property you can specify a prefix to use in the name of document. Path String The path where the Word documents should be stored WordTemplate String The name of the Word-template. XMLFile String The name of the XMLFile. XMLString String A string with the XML-data.
Methodes
Methode Returns Parameters Description Execute Boolean / Performs the mailmerge. Returns False when an error occurred.
Downloads
Download demo project - 10 KbDownload source - 14Kb

Comments
web enable
Posted by Legacy on 09/23/2003 12:00amOriginally posted by: ali
Replycool tool
Posted by Legacy on 08/20/2003 12:00amOriginally posted by: devashi
this is an awsome tool... quite a novel and nice way of getting around the variable length mail merging difficulties.
ReplyThanks heaps.
Run-time Error 429
Posted by Legacy on 04/29/2003 12:00amOriginally posted by: Sharon
I find this tool very useful but for a serious bug in it which has not enabled me to make use of it. I am getting Run time error 429 "ActiveX Component cannot create object". Is there any other dll which I have missed out in the download??. Can you tell me what to do next.
Replybug or "how to improve"?
Posted by Legacy on 07/09/2002 12:00amOriginally posted by: ribbera
Otherwise very useful, but with bug. When you try to use <middlename /> or <middlename></middlename> or <middlename> </middlename> (because someone's middle name can be empty) execution ugly breaks.
ReplyTry to fix this.