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

Всем привет, с вами автор блога scriptcoding.ru. В этой статье мы рассмотрим, как в Word создать список многоуровневого типа.

При создании многоуровневого списка программа Word берет на себя большую часть работы, так как нам остается выбрать только нужный шаблон (маркированный или нумерованный список). Если в начале заданного абзаца нажать кнопку табуляции, то произойдет автоматическая смена шаблона. При желании мы можем выбрать нужные абзацы и нужный шаблон или задать собственный.
Многоуровневый список в Word
Что бы вам было все понятно, рассмотрим несколько примеров создания многоуровневого списка в Word. Предварительно подготовим текст, который будет содержать 10 абзацев.

Создать многоуровневый список в документе Word, который состоит из трех уровней. Первый уровень будет содержать цифры («1.»), второй — маленькие латинские буквы («a.»), а третий — квадратные маркеры.
- Выделяем весь текст и на панели выбираем список «Нумерация».
- Теперь выделим абзацы с 3 по 6 и нажмем кнопку табуляции. Программа автоматически покажет, как в Word создать список из маленьких латинских букв.
- Теперь снова нажимаем кнопку табуляции для абзацев c и d, автоматически произойдет формирование многоуровневого списка Word, содержащего римские буквы.
- Выделяем оба абзаца с арабскими буквами и применяем список «Маркер», (смотрите статью «Создание маркированного списка в Word»)
- Все, мы показали, как в Word создать многоуровневый список нужного формата.

Нужно создать многоуровневый Word список, каждый уровень будет содержать нумерацию — арабские цифры и отделятся табуляцией.
- Можно проделать действия, аналогичные предыдущим, и для каждого уровня выбрать список в виде арабских цифр на панели задач.

Создание многоуровневого списка в Word, содержащего два уровня, но, без табуляции.
- В этом случае мы применяем ко всем абзацам нумерованный список, далее, выделяем нужные абзацы и нажимаем правую кнопку мыши.
- В контекстном меню надо выбрать пункт «задать начальное значение». Задаем число 1 и все, у нас появился вложенный нумерованный список.
Хорошо, как вручную создать в Word многоуровневый список мы рассмотрели — ничего сложного нет. Теперь давайте попробуем проделать то же самое, но, программным путем с помощью объектной модели Word. Для этого мы напишем два программных кода, на языке VBScript и JScript.

Программный код на языке VBSCRIPT:
Программный код на языке JSCRIPT:
В данном примере мы сначала создаем новый документ и вставляем в него текст 20 раз, в конце каждой строки добавляется абзац (метод TypeParagraph объекта Selection). Далее происходит объявление переменной LT, которая будет содержать новый шаблон списка. Шаблон формируется с помощью метода Add объекта ListTemplate. Обратите внимание, что методу передается логический параметр true, который говорит, что мы хотим создать многоуровневый список в Word.
Далее происходит перебор все уровней списка (всего их может быть 9). Тут мы особого ничего не делаем, просто выбираем стиль (свойство NumberStyle объекта ListLevel) — тут значение 0, любое другое значение вызовет ошибку, так как многоуровневый список Word автоматически считается нумерованным, и никакой другой стиль не подходит (например, маркер).
После того, как мы создали собственный шаблон стиля, его нужно применить к выбранным абзацам, за это отвечает метод ApplyListTemplate объекта ListFormat, в качестве параметра мы передаем имя переменной, содержащей шаблон.
Далее происходит вызов процедуры LRange, в качестве параметров мы передаем два числа — номера абзацев, которые нужно выбрать. В самой процедуре происходит выбор заданного диапазона, и вызов метода ListIndent объекта ListFormat, который добавляет уровень к имеющемуся многоуровневому списку в Word.
В итоге, мы получим многоуровневый список Word состоящий из нескольких уровней.
Создание многоуровневого списка в Word

Хорошо, давайте рассмотрим следующие примеры.
Программный код на языке VBSCRIPT:
Программный код на языке JSCRIPT:
В данном примере происходит добавление форматирования нумерации для списка. Используя подстановочный знак процента, мы сформировали многоуровневый список в Word такого формата:
- 1.
- ……
- 1.1.
- ……
- 1.1.1.
- ……
- * дополнительный пункт
Также, используя свойства объекта Font, мы задали форматирование текста для заданного пункта (цвет, жирный).
Как в Word создать список

И напоследок еще пара примеров.
Программный код на языке VBSCRIPT:
Программный код на языке JSCRIPT:
В этом последнем примере, мы сначала сформировали многоуровневый список в Word на основе созданного шаблона, а потом применили список «Маркер» к отдельным пунктам (метод ApplyListTemplateWithLevel). Обратите внимание, что параметры текста, определенные в нашем шаблоне автоматически были применены к маркированному списку.