Добавление трех выровненных изображений в нижний колонтитул текстового документа
Я использую Word Automation для создания документа из своего приложения, и мне нужно добавить три подписи в нижний колонтитул документа. Это легко, однако, заставить их появляться так, как мне хотелось бы, не работает.
Вот код, который я использую:
//add initials to footer
if (oWordDoc.Sections.Count > 0) {
Range r = oWordDoc.Sections[1].Footers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
Object colapseDir = WdCollapseDirection.wdCollapseStart;
r.Collapse(ref colapseDir);
oWord.ActiveWindow.View.Type = WdViewType.wdPrintView;
oWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageFooter;
oWord.Selection.TypeParagraph();
oWord.Selection.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
oWord.ActiveWindow.Selection.Font.Name = "Arial";
oWord.ActiveWindow.Selection.Font.Size = 8;
if (!String.IsNullOrEmpty(plaintiffInitialFile)) {
r.InlineShapes.AddPicture(plaintiffInitialFile, ref oMissing, ref oTrue, ref oMissing);
}
oWord.ActiveWindow.Selection.TypeText("Plaintiff's Initals");
oWord.ActiveWindow.Selection.TypeText("\t");
if (!String.IsNullOrEmpty(plaintiffAttInitialFile)) {
r.InlineShapes.AddPicture(plaintiffAttInitialFile, ref oMissing, ref oTrue, ref oMissing);
}
oWord.ActiveWindow.Selection.TypeText("Plaintiff's Attorney's Initals");
oWord.ActiveWindow.Selection.TypeText("\t");
if (!String.IsNullOrEmpty(ekfgInitialFile)) {
r.InlineShapes.AddPicture(ekfgInitialFile, ref oMissing, ref oTrue, ref oMissing);
}
oWord.ActiveWindow.Selection.TypeText("EKFG's Initals");
}
Вот что он производит (я добавил аннотации)
Вот что я хочу
Что мне нужно сделать?
1 ответ
Мне удалось решить проблему, если кто-то столкнется с этой проблемой. Я следовал инструкциям здесь: http://support.microsoft.com/kb/316384 чтобы создать одну строку, таблицу из шести столбцов.
Если кто-то пытается это сделать, не забывайте, что автоматизация слов по сути является Visual Basic, поэтому при обращении к ячейкам таблицы индексы начинаются с 1, а не с 0.
Добавление текста работает как в примере:
oTable.Cell(1, 2).Range.Text = "Plaintiff's Initials";
и добавление изображений работает так же, как и раньше, за исключением того, что в этот раз диапазон является вашей ячейкой
oTable.Cell(1, 1).Range.InlineShapes.AddPicture(plaintiffInitialFile, ref oMissing, ref oTrue, ref oMissing);