我正在尝试使用 .net 程序自动化邮件合并。Word 文档中有一封写给特定人员的单页信件,其中包含名为“Person”的邮件合并字段。我们的数据库有多个人,每个人的名字都必须进入信件的副本。我们希望将一页的字母一个接一个地连接起来。目前,此代码尝试使用 -name1 和 name2 的两个人。下面的代码为每个人名打开一个单独的单词实例。
object oMissing = System.Reflection.Missing.Value;
//CREATING OBJECTS OF WORD AND DOCUMENT
Word.Application oWord = new Word.Application();
Word.Document oWordDoc = new Word.Document("C:\\Test\\AddressTemplate.docx");
//SETTING THE VISIBILITY TO TRUE
oWord.Visible = true;
//THE LOCATION OF THE TEMPLATE FILE ON THE MACHINE
Object oTemplatePath = "C:\\Test\\AddressTemplate.docx";
oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);
foreach (Microsoft.Office.Interop.Word.Field field in oWordDoc.Fields)
{
if (field.Code.Text.Contains("Person"))
{
field.Select();
oWord.Selection.TypeText(name1);
}
}
oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);
foreach (Microsoft.Office.Interop.Word.Field field in oWordDoc.Fields)
{
if (field.Code.Text.Contains("Person"))
{
field.Select();
oWord.Selection.TypeText(name2);
}
}
问题:如何更改代码以仅打开一个 word 实例,填写 mailmerge 字段并将一个字母连接到另一个字母的末尾?