Как создать нумерованный список в Microsoft Word c#?

121
15 октября 2019, 23:30

Нужно создать нумерованный список в Word, например:

1. Заголовок 1
    1.1. Подзаголовок 1
    1.2. Подзаголовок 2
2. Заголовок 2
    2.2. Подзаголовок 1

Вот пример кода. Проблема в том, что не получается создать подпункты заголовка:

Word.Application app = new Word.Application();
Word.Document doc = app.Documents.Add();
Word.Paragraph paragraph = null;
Word.Range range = doc.Range();
app.Visible = true;
paragraph = range.Paragraps.Add();
paragraph.Range.Text = "Заголовок 1";
paragraph.Range.ListFormat.ApplyNumberDefault(Word.WdListGalleryType.wdNumberGallery);
paragraph.Outdent();
paragraph.Range.InsertParagraphAfter();
paragraph = range.Paragraphs.Add();
paragraph.Range.Text = "Подзаголовок 1";
paragraph.Indent();
paragraph.Range.InsertParagraphAfter();
paragraph = range.Paragraphs.Add();
paragraph.Range.Text = "Подзаголовок 2";
paragraph.Range.InsertParagraphAfter();
paragraph = range.Paragraphs.Add();
paragraph.Range.Text = "Заголовок 2";
paragraph.Outdent();
Answer 1

Сначала добавить текст в параграф

paragraph.Range.Text = "Text";

Затем нужно использовать функции SetListLevel() и ApplyListTemplateWithLevel()

paragraph.Range.SetListLevel(2);
paragraph.Range.ListFormat.ApplyListTemplateWithLevel(listTemplate, ContinuePreviousList: true, ApplyTo: WdListApplyTo.wdListApplyToSelection, DefaultListBehavior: WdDefaultListBehavior.wdWord10ListBehavior, ApplyLevel: 2);

После добавить параграф

paragraph.Range.InsertParagraphAfter();

Также нужно настроить уровни шаблона списка под себя.

READ ALSO
Тип DataRepeater существует в двух библиотеках

Тип DataRepeater существует в двух библиотеках

Столкнулся с проблемой, что Тип DataRepeater существует в двух библиотеках, но по сути это одна

89
Индекс выходить за границы массивы С#

Индекс выходить за границы массивы С#

Пишу программу, которая переводит число из одной системы счисления в другую, в самом конце программы, когда нужно выводить результат, вылетает...

107
Как в БД записать сложный объект C#?

Как в БД записать сложный объект C#?

Значит у меня есть база данных следующей схемы :

123