Тема: Помогите разобраться с ListLevelNumber
Пытаюсь сделать макрос создания оглавления, т.к. формат существующего оглавления в Word не устраивает.
Включаю в оглавление параграфы в цикле по параметру: ActiveDocument.Paragraphs(i).Range.Style.ListLevelNumber
Каждому стилю параграфа можно присвоить ListLevelNumber, для основного текста он = 0.
Для "Заголовок 1" ListLevelNumber = 1, "Заголовок 2" = 2 (по умолчанию) и т.п.
Но для многоуровневых нумерованных списков ListLevelNumber = не меньше 1. Т.е. хоть первый их уровень, хоть девятый - дают ListLevelNumber = 1.
Пробовал установить для уровня списка связь со стилем, а уже в стиле установить уровень.
Ничего не получается. Все равно для любого уровня многоуровневого нумерованного списка ListLevelNumber = 1.
Есть и такая коллекция с уровнями, в которую входят только папаграфы списков документа:
ActiveDocument.ListParagraphs.Item(i).Range.Style.ListLevelNumber
В ней уровни определяются правильно, начиная с 1.
Но непонятно, как перебирая параграфы в цикле, вычислять, из какой коллекции брать уровень - из коллекции параграфов документа или из коллекции листПараграфов.
Допустим, в документе первые 10 параграфов просто отформатированы стилями, а следующие 10 представляют собой список, отформатированный стилями согласно указаниям внутри самого стиля списка.
Тогда, просматривая в цикле коллекцию ActiveDocument.Paragraphs, для всех параграфов второго десятка я получу
ListLevelNumber = 1, хотя реально там будут разные уровни вложенности.
А если я буду просматривать коллекцию ActiveDocument.ListParagraphs, то я считаю правильные уровни у второго десятка, но первый десяток параграфов не увижу.
Как в цикле просматривая параграфы, получить правильный уровень ListLevelNumber, независимо от того, является ли параграф элементом нумерованного списка или не является?