2016-01-12 3 views
0

Я пытаюсь добавить верхний/нижний колонтитул в текстовый документ в зависимости от того, какой пользователь выбрал выделение со списком.Добавить заголовок в документ Word (Word Add-In C#)

Я могу заставить его работать над новым документом, может кто-нибудь объяснить, как заставить его работать с текущим активным документом.

Мой код в настоящее время является:

private void btnAddHeader_Click(object sender, RibbonControlEventArgs e) 
{ 
    Microsoft.Office.Interop.Word.Document document = new Microsoft.Office.Interop.Word.Document(); 

    foreach (Microsoft.Office.Interop.Word.Section section in document.Sections) 
    { 
     Microsoft.Office.Interop.Word.Range headerRange = section.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; 
     headerRange.Fields.Add(headerRange, Microsoft.Office.Interop.Word.WdFieldType.wdFieldPage); 
     headerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter; 
     headerRange.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdRed; 
     headerRange.Font.Size = 8; 
     headerRange.Font.Bold = 1; 
     headerRange.Font.Name = "Arial"; 
     headerRange.Text = cbClassification.Text; 
    } 
} 

Что мне нужно, когда кнопка нажата, вышеуказанных прогоны коды, но обновляет текущий открытый активный документ, в настоящее время выше создает новый документ, и добавляет, что был выбран.

ответ

1

Это просто потому, что вы создаете новый документ:

Microsoft.Office.Interop.Word.Document document = 
    new Microsoft.Office.Interop.Word.Document(); 

Вы должны использовать активный документ, который Вы можете получить на ApplicationClass объект:

var document = Globals.ThisAddIn.Application.ActiveDocument; 
+0

здорово! работая с удовольствием, знал, почему мое открытие в новом документе, просто не знал синтаксиса для текущего документа. Ценить это! – user1700974

Смежные вопросы