Объект Word Paragraph и коллекция Paragraphs — основные параметры абзаца
![]()
Объектная модель Microsoft Word
Всем привет, с вами автор блога scriptcoding.ru. В этой статье мы рассмотрим коллекцию Paragraphs и объект Paragraph – оба элемента позволяют задать основные параметры абзаца в Word документе.
Стоит обратить внимание, что большая часть свойств и методов являются идентичными. Так, если мы используем некоторое свойство, работая с коллекцией, то оно будет влиять на все основные параметры абзаца в Word, если свойство или метод используются только для конкретного объекта Paragraph, то обрабатываться будет параметр конкретного абзаца. В самой статье я приведу примеры программного кода для сценариев сервера Windows Script Host – VBScript и JScript.
И так, давайте приступим…
Paragraph и Paragraphs – основные параметры абзаца в Word
Как и большинство коллекций и объектов модели Word, коллекция Paragraphs содержит все объекты Paragraph. Прежде чем приступать к обработке абзацев, нужно сначала получить ссылку на коллекцию Paragraphs, это можно сделать с помощью одноименно свойства классаSelection (смотрите статью «Объект Word Selection — выделить весь текст в ворде, свойства«) или класса Range (статья «Объект Word Range — Выбор текста«). Также стоит учитывать, что коллекция будет содержать те параграфы, которые входят в выделенный или выбранный диапазон текста.
Общие свойства – параметры форматирования абзацев

Alignment — Позволяет задать или получить значение константы WdParagraphAlignment, которая отвечает за выравнивание текста:
- wdAlignParagraphLeft — 0 – По левому краю.
- wdAlignParagraphCenter — 1 – По центру.
- wdAlignParagraphRight — 2 — По правому краю.
- wdAlignParagraphJustify — 3 – По ширине.
- wdAlignParagraphDistribute — 4 – Распределяет символы так, что бы заполнить по ширине все окно.
- wdAlignParagraphJustifyMed — 5 — По ширине со средней степенью сжатия символов.
- wdAlignParagraphJustifyHi — 7 — По ширине с высокой степенью сжатия символов.
- wdAlignParagraphJustifyLow — 8 — По ширине с низкой степенью сжатия символов.
CharacterUnitFirstLineIndent – Задает или возвращает отступ первой строки.
CharacterUnitLeftIndent – Выступ слева
CharacterUnitRightIndent – Отступ справа
FirstLineIndent — Возвращает или устанавливает значение (в пунктах) для первой линии или отступа.
LeftIndent – Отступ слева в пунктах.
RightIndent – Отступ справа в пунктах.
LineSpacing – Междустрочный интервал.
LineSpacingRule — Возвращает или устанавливает междустрочный интервал, который определяет значение константы WdLineSpacing:
- wdLineSpaceSingle — 0 – одинарный, по умолчанию
- wdLineSpace1pt5 — 1 – 1,5 строки.
- wdLineSpaceDouble — 2 – двойной.
- wdLineSpaceAtLeast — 3 – минимум.
- wdLineSpaceExactly — 4 – точно.
- wdLineSpaceMultiple — 5 — междустрочный интервал определяется количеством линий указано.
LineUnitAfter – Интервал после параграфа.
LineUnitBefore – Интервал перед параграфом.
ReadingOrder — Возвращает или устанавливает такие основные параметры форматирования для абзаца, как порядок чтения без изменения их выравнивания. Содержит значение константы WdReadingOrder:
- wdReadingOrderLtr — 1 – Слева направо
- wdReadingOrderRtl — 0 – Справа налево
SpaceAfter – Интервал в пунктах после параграфа.
SpaceBefore — Интервал в пунктах перед параграфом.
Style — Возвращает или задает такие настройки параметров абзаца, как стиль. Свойство принимает имя стиля, или значение константы WdBuiltinStyle.
Общие методы – настройка параметров абзаца

Indent () – Позволяет добавить отступ на один пункт.
Outdent () — Позволяет удалить отступ на один пункт.
IndentCharWidth (count) – Добавляет отступ на заданное количество символов.
IndentFirstLineCharWidth (count) — Отступ первой строки на заданное количество символов.
Reset () — Удаляет ручное форматирование – не влияет на форматирование стиля.
TabHangingIndent (count) — Устанавливает висячий отступ на заданное значение.
TabIndent (count) — Устанавливает отступ слева на заданное значение.
OpenOrCloseUp () – Вставляет или удаляет интервал в 12 пунктов перед указанным абзацем.
OpenUP () – Вставляет интервал в 12 пунктов перед указанным параграфом.
CloseUP () – Удаляет интервал в 12 пунктов перед указанным параграфом.
OutlineDemoteToBody () – Применяет нормальный стиль.
Space1 () — Одинарный междустрочный интервал.
Space15 () – Междустрочный интервал в 1.5 строки.
Space2 () – Двойной междустрочный интервал.
Свойство и методы коллекции Paragraps – основные параметры абзаца

Count – Содержит количество параграфов в документе. Только чтение.
Item (count) – Позволяет получить доступ к указанному абзацу в коллекции, вернет объект Paragraph.
Add () — Возвращает объект Paragraph, который представляет параметры форматирования нового абзаца, который является пустым, добавленным в документ.
DecreaseSpacing () — Уменьшает отступ между параграфами на 6 пунктов.
IncreaseSpacing () — Увеличивает отступ между параграфами на 6 пунктов.
Методы объекта Paragraph – параметры форматирования абзацев

Next (count) — Возвращает объект Paragraph, представляющий основные параметры следующего абзаца в Word.
Хорошо, теорию разобрали, программированием занялись, теперь надо дать пояснения к сценариям:
Объявление переменных – в самом начале мы объявляем переменные, в языке vbscript это делается в блоке dim , а в языке программирования jscript – в блоке var . Обратите внимание, что в vbs мы включили проверку переменных с помощью оператора Option Explicit . Сами имена переменных отличаются, так, для JS скрипта я приписал единицу.
Подключение внешних классов – Далее происходит процесс создания ссылок на внешние классы, которые позволяют создать новый документ, задавать параметры форматирования абзацев, управлять вставкой текста и так далее. Обратите внимание, что для vbs мы использовали ключевое слово set .
Вставка содержимого – В цикле for (смотрите синтаксис для vbscript — «Урок 6 по VBScript: Циклы for…next и for each…next» и jscript — «Урок 9 по JScript — оператор цикла for«) происходит вставка несколько раз содержимого переменной MyText параллельно с параграфом.
Настройка параметров абзаца – Тут снова используется цикл for, в котором в заданном порядке происходит форматирование – меняется интервал, выравнивание и так далее. Обратите внимание, что в vbs сценарии мы получили доступ к параграфам через Selection , а в js – через Range .




