我正在编写一个小型库,它将在 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”,即使字段物理存在。
有没有一种方法可以实现对页眉和页脚字段的预期影响?