Об’єкт Word Paragraph та колекція Paragraphs – основні параметри абзацу

Варто звернути увагу, що більшість властивостей та методів є ідентичними. Так, якщо ми використовуємо деяку властивість, працюючи з колекцією, то вона буде впливати на всі основні параметри абзацу Word, якщо властивість або метод використовуються тільки для конкретного об'єкта Paragraph, оброблятиметься параметр конкретного абзацу. У статті я наведу приклади програмного коду для сценаріїв сервера Windows Script Host – VBScript і JScript.
І так, давайте приступимо...
Paragraph та Paragraphs – основні параметри абзацу в Word
Загальні властивості – параметри форматування абзаців

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 пунктів перед зазначеним параграфом.
OutlineDemote () таOutlinePromote () – Застосовують стиль Заголовок до зазначеного параграфу.
OutlineDemoteToBody () - Застосовує нормальний стиль.
Space1 () - Одинарний міжрядковий інтервал.
Space15 () - Міжрядковий інтервал в 1.5 рядка.
Space2 () - Подвійний міжрядковий інтервал.
Властивість та методи колекції Paragraps – основні параметри абзацу

Count - Містить кількість параграфів у документі. Лише читання.
Item (count) – Дозволяє отримати доступ до вказаного абзацу в колекції, поверне об'єкт Paragraph.
Add() - Повертає об'єкт Paragraph, який представляє параметри форматування нового абзацу, який є порожнім, доданим до документа.
DecreaseSpacing() - Зменшує відступ між параграфами на 6 пунктів.
IncreaseSpacing() - Збільшує відступ між параграфами на 6 пунктів.
Методи об'єкту Paragraph – параметри форматування абзаців

Next (count) - Повертає об'єкт Paragraph, що представляє основні параметри наступного абзацу Word.
Previous (count) - Повертає об'єкт Paragraph, що представляє основні параметри попереднього абзацу Word.
І так, з теоретичною частиною ми закінчили, тепер можна розпочати програмування. Розглянемо два простихНаприклад на мові VBScript і JScript, я спочатку наведу програмний код, а вже наприкінці дам пояснення.
Приклад мовою програмування VBScript:
Приклад мовою програмування JScript:
Добре, теорію розібрали, зайнялися програмуванням, тепер треба дати пояснення до сценаріїв:
Оголошення змінних - на самому початку ми оголошуємо змінні, в мові 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.
Дякую за увагу. Автор блогу Володимир Баталій