Hi<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Thanks for your inquiry. You should insert section breaks during mail merge. You should use MErgeField event handler to achieve this. Please see the following code:
public void Test012()
{
//Create some datasource
DataTable tab = new DataTable("BasicDetails");
tab.Columns.Add("CertTitle");
tab.Columns.Add("CertificateNumber");
tab.Columns.Add("AssuredName");
tab.Columns.Add("AssuredAddress");
tab.Columns.Add("InceptionDate");
tab.Columns.Add("ExpiryDate");
tab.Columns.Add("GrossPremium");
tab.Columns.Add("IPT");
tab.Columns.Add("IPTAmount");
tab.Columns.Add("OpInsClauses");
tab.Columns.Add("InsuringClauses");
//Add some data to datasource
for (int i = 0; i < 5; i++)
{
tab.Rows.Add(new object[] { "CertTitle", "CertificateNumber", "AssuredName", "AssuredAddress", DateTime.Now, DateTime.Now, 100, 100, 100, "OpInsClauses", "InsuringClauses" });
}
//Open template
Document doc = new Document(@"Test012\in.doc");
//Add MergeField event handler
doc.MailMerge.MergeField += new MergeFieldEventHandler(MailMerge_MergeField012);
//Execute mail merge
doc.MailMerge.ExecuteWithRegions(tab);
//Save result document
doc.Save(@"Test012\out.doc");
}
void MailMerge_MergeField012(object sender, MergeFieldEventArgs e)
{
if (e.FieldName == "InsuringClauses")
{
DocumentBuilder builder = new DocumentBuilder(e.Document);
builder.MoveToMergeField(e.FieldName);
//Insert Section break
builder.InsertBreak(BreakType.SectionBreakContinuous);
//Set columns count
builder.CurrentSection.PageSetup.TextColumns.SetCount(2);
builder.Writeln("//something//");
builder.InsertBreak(BreakType.ColumnBreak);
builder.Writeln("//something//");
//Insert section break
builder.InsertBreak(BreakType.SectionBreakContinuous);
//Reset columns count
builder.CurrentSection.PageSetup.TextColumns.SetCount(1);
}
}
Hope this helps.
Best regards.