Мне нужно добавить подчеркнутые заголовки столбцов к объектам заголовка в документе.Я использую C # и Microsoft.Office.Interop.Word
Соответствующие части кода выглядят следующим образом ...
foreach (Word.HeaderFooter header in wordSection.Headers)
{
int[] fiscalYears = RetrieveFiscalYears(docProfile);
string paddingFY = new String(' ', 8);
Word.Paragraph colParagraph = wordRng.Paragraphs.Add();
int year;
for (int i = fiscalYears.Length - 1; i >= 0; i--)
{
year = fiscalYears[i];
colParagraph.Range.InsertAfter(MARKUP_WORD_TAB);
//begin underline
colParagraph.Range.InsertAfter(paddingFY + year.ToString() + paddingFY);
//end underline
}
colParagraph.Range.InsertAfter(MARKUP_WORD_TAB);
colParagraph = wordRng.Paragraphs.Add();
colParagraph.set_Style(wordDoc.Styles["ColumnHeadings"]);
}
По сути, он должен выглядеть примерно так ...
Expended Estimated Budgeted
2015 2016 2017
--------- ---------- --------
В теле документа цикл for выглядит следующим образом:
foreach (int year in fiscalYears)
{
wordApp.Selection.TypeText(MARKUP_WORD_TAB);
wordApp.Selection.Font.Underline = Word.WdUnderline.wdUnderlineSingle;
wordApp.Selection.TypeText(paddingFY + year.ToString() + paddingFY);
wordApp.Selection.Font.Underline = Word.WdUnderline.wdUnderlineNone;
}
Но когда я использую объект выбора, он пишет в тело документа, а не вобъекты верхнего / нижнего колонтитула.Я мог бы обойти это с помощью SeekHeader и сделать его фокусом, но это создает свои собственные проблемы ... Я пытался использовать объект colParagraph.Range.Font.Underline, но это подчеркивает всю строку, а нетолько слова, которые составляют заголовки столбцов.Я пытался использовать объект поиска, но по какой-то причине команда execute не находит текст.
Благодарим вас за любые рекомендации.