Hi,
can i use doc.MailMerge.ExecuteWithRegions(datatable) inside a loop
where datatable contains different records on each run
can u suggest a better approach to make the above method as dynamic
with regards
Durai
Hi,
can i use doc.MailMerge.ExecuteWithRegions(datatable) inside a loop
where datatable contains different records on each run
can u suggest a better approach to make the above method as dynamic
with regards
Durai
Hi<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Thanks for your inquiry. I think that you can clone original template in each iteration of the loop. For example here is code example:
//Open template document
Document doc = new Document(@"Test020\in.doc");
//Start loop
for (int i = 0; i < 10; i++)
{
//Clone original document
Document docClone = (Document)doc.Clone(true);
//Execute mail merge
//You should get corresponding data from your DB.
//In the example I use the same datasource for each document
docClone.MailMerge.ExecuteWithRegions(table);
//Save document
docClone.Save(String.Format(@"Test020\out_{0}.doc", i));
}
If you need to merge documents together then you can use the following code:
//Open template document
Document doc = new Document(@"Test020\in.doc");
//Open or create master document
Document master = new Document();
//Start loop
for (int i = 0; i < 10; i++)
{
//Clone original document
Document docClone = (Document)doc.Clone(true);
//Execute mail merge
//You should get corresponding data from your DB.
//In the example I use the same datasource for each document
docClone.MailMerge.ExecuteWithRegions(table);
//Set first section break of sub document
docClone.FirstSection.PageSetup.SectionStart = SectionStart.Continuous;
//Merge master document and sub document
AppendDoc(master, docClone);
}
//Save output document
master.Save(@"Test020\out.doc");
Also see th efollowing link to learn how to append one documen tto another
I hope this could help you.
Best regards.