您好,我正在使用 c# 从 winforms 应用程序中自动生成一个 word 文档。该文档包含一些我从代码中填写的邮件合并字段。这适用于固定字段。
但是,该文档包含一些在运行时重复 n 次的重复部分。有人可以告诉我如何创建可以多次插入的某种块吗?
我尝试在两个书签之间插入文本,但这会弄乱页面格式。
任何建议将不胜感激。
编辑:
下面的函数是我用来将数据合并到 word 模板的函数。Dictionary 包含第一个字符串中的字段名称和第二个字符串中的内容。
用户将获得一个包含文档中所有域代码的示例单词模板,然后能够自行更改域的顺序和样式。
public static void CreateBody(Application wApp, Document wDoc, Dictionary<string, string> fieldContent)
{
//Loop through fields in document body.
foreach (Field mergeField in wDoc.Fields)
{
//Find mailmerge fields in the Word document body.
if (mergeField.Type == WdFieldType.wdFieldMergeField)
{
//Get the fieldName from the template file.
string fieldText = mergeField.Code.Text;
string fieldName = GetFieldName(fieldText);
if (fieldContent.ContainsKey(fieldName))
{
mergeField.Select();
if (fieldContent[fieldName] != "")
{
wApp.Selection.TypeText(fieldContent[fieldName]);
}
else
{
//If the field has no content remove the field text from the word file.
wApp.Selection.TypeText(" ");
}
}
}
}
现在我正在寻找一种方法来重复模板中的邮件合并字段块,并将它们插入多次,每条记录一次。