C# 使用c在word文档中创建重复块
您好,我正在使用c从winforms应用程序自动生成word文档。该文档包含许多我从代码中填充的邮件合并字段。这适用于固定字段 但是,文档包含一些在运行时重复n次的重复部分。有人能告诉我如何创建一个可以多次插入的块吗 我曾尝试在两个书签之间插入文本,但这会弄乱页面格式 任何建议都将不胜感激 编辑: 下面的函数是我用来将数据合并到word模板的函数。字典在第一个字符串中保存字段名,在第二个字符串中保存内容 用户将获得一个包含文档中所有字段代码的示例word模板,然后可以自己更改字段顺序和样式C# 使用c在word文档中创建重复块,c#,ms-word,mailmerge,C#,Ms Word,Mailmerge,您好,我正在使用c从winforms应用程序自动生成word文档。该文档包含许多我从代码中填充的邮件合并字段。这适用于固定字段 但是,文档包含一些在运行时重复n次的重复部分。有人能告诉我如何创建一个可以多次插入的块吗 我曾尝试在两个书签之间插入文本,但这会弄乱页面格式 任何建议都将不胜感激 编辑: 下面的函数是我用来将数据合并到word模板的函数。字典在第一个字符串中保存字段名,在第二个字符串中保存内容 用户将获得一个包含文档中所有字段代码的示例word模板,然后可以自己更改字段顺序和样式 pu
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(" ");
}
}
}
}
现在,我正在寻找一种方法,在模板中重复一组邮件合并字段,并将它们插入多次,每个记录插入一次。下面是帮助您解决问题的MSDN链接
堆栈溢出时不建议使用仅链接的帖子。至少试着总结一下页面上的相关信息,以防URL在将来失效。我应该在问题中提到这一点。我不能使用字符串编写器。数据需要转到word字段或类似变量,因为最终用户需要能够编辑模板文件。更改某些字段的格式和顺序。请显示一些您尝试过的代码。