удалить верхний и нижний колонтитулы в документе Word в C # - PullRequest
0 голосов
/ 10 мая 2018

Помогите, пожалуйста, удалить верхний и нижний колонтитулы из документа word, изменить шрифт и сохранить документ.

Вот мой код, сделанный только для смены шрифта.

var application = new Microsoft.Office.Interop.Word.Application();
var doc = application.Documents.Open("word doc file here");
object start = doc.Content.Start;
object end = doc.Content.End;
Word.Range rng = doc.Range(ref start, ref end);
rng.Font.Name = "Times New Roman";
rng.Select();
doc.Save();
doc.Close();

1 Ответ

0 голосов
/ 10 мая 2018

Я предполагаю, что код, который вы нам показываете, работает для вас, если изменить шрифт и сохранить документ.

В следующем фрагменте показаны две альтернативы для изменения шрифта. Я использовал цвет шрифта, чтобы сделать вещи более очевидными. Первый изменяет базовый стиль, который лежит в основе большей части форматирования шрифта, которое вы найдете в Word; второе - это то, что у вас есть - применение форматирования, как если бы вы выбрали тело документа и отформатировали его. Разница в моем коде состоит в том, что он использует Document.Content, который возвращает Range для основной части документа без необходимости указывать начальные и конечные значения.

Фрагмент также демонстрирует, как получить доступ к верхнему и нижнему колонтитулам документа по умолчанию. Обратите внимание, что документы Word могут быть чрезвычайно сложными, с несколькими Section объектами, и каждый объект раздела может иметь «нормальный» верхний и нижний колонтитулы, а также, необязательно, разные верхний и нижний колонтитулы для первой страницы. В этом фрагменте предполагается, что документ имеет только один раздел и не отличается от первой страницы.

Word.HeaderFooter hdr = doc.Sections[1].Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary];
hdr.Range.Delete();
Word.HeaderFooter ftr = doc.Sections[1].Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary];
ftr.Range.Delete();
doc.Styles[Word.WdBuiltinStyle.wdStyleNormal].Font.ColorIndex = Word.WdColorIndex.wdBlue;
doc.Content.Font.ColorIndex = Word.WdColorIndex.wdDarkRed;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...