Я нахожусь в процессе написания небольшой библиотеки, которая будет выполнять MailMerge для документа Word 2003.DOT в C #.Я могу получить и заменить все поля тела документа следующим образом:
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", хотя поля физически существуют.
Есть ли способ, которым я могу сделать достижениежелаемое влияние на поля верхнего и нижнего колонтитула?