【发布时间】:2019-06-27 11:12:03
【问题描述】:
我正在编写一个小型库,它将在 C# 中对 word 2003 .DOT 文档执行 MailMerge。我可以像这样检索和替换所有文档正文字段:
foreach (Field mergeField in document.Fields)
{
if (mergeField.Type == WdFieldType.wdFieldMergeField)
{
string fieldText = mergeField.Code.Text;
string fieldName = Extensions.GetFieldName(fieldText);
if (values.ContainsKey(fieldName))
{
mergeField.Select();
application.Selection.TypeText(values[fieldName]);
}
}
}
但这不会从文档中检索页眉或页脚字段..
我试过这个:
subscriptionDocument.Sections[1].Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Fields.Count;
查询标头字段,但返回的计数为“0”,即使字段实际存在。
有没有办法让我也可以对页眉和页脚字段产生预期的影响?
【问题讨论】:
标签: c# interop ms-word mailmerge