Попробуем сделать наш отчет красивым. Для этого мы можем управлять форматированием абзацев (выравнивание, межстрочный интервал, отступ первой строки) и форматированием шрифта (гарнитура шрифта, размер, жирный-курсив-подчеркнутый и т.д.) Заданное форматирование действует на текущий абзац. Обычно схема работы такова:
- вывести в Word текст абзаца;
- применить к нему нужное форматирование;
- вывести в Word текст следующего абзаца;
- применить к нему форматирование
и т.д.
Для задания параметров абзаца служит компонент WordParagraphFormat. Свойств у него много, поэтому рассмотрим только главные:
Табл. 26.1
Свойство
| Что делает
| Возможные значения
|
Alignment
| Способ выравнивания текста в абзаце
| wdAlignParagraphCenter – по центру
wdAlignParagraphJustify – по ширине
wdAlignParagraphLeft - влево
wdAlignParagraphRight - вправо
|
FirstLineIndent
| Отступ первой строки в пунктах
(1 см = 28.35 пункта)
| Целое число от 0 и выше
|
LineSpacing
| Межстрочный интервал в пунктах
| Значение 12 соответствует 1 интервалу, 18 – 1.5, 24 – 2-м.
|
Стандартный межстрочный интервал также удобно задавать вызовами методов Space1, Space15, Space2.
Шрифтом управляет компонент WordFont. Вот его основные свойства:
Табл. 26.2
Свойство
| Что делает
| Возможные значения
|
Name
| Название гарнитуры как текстовая строка
| 'Times', 'Arial', 'Courier'…
|
Size
| Размер шрифта в пунктах
| Целое число от 6 и выше. Стандартный размер шрифта – 14
|
Italics
| вкл/выкл курсив
| Целое число 0 или 1
|
Underline
| вкл/выкл подчеркивание
| Целое число 0 или 1
|
Bold
| вкл/выкл жирный шрифт
| Целое число 0 или 1
|
Subscript
| вкл/выкл верхние индексы
| Целое число 0 или 1
|
Superscript
| вкл/выкл нижние индексы
| Целое число 0 или 1
|
Color
| цвет шрифта
| Обычные константы цвета: clRed, clBlue…
|
Рассмотрим использование перечисленных свойств в программе. В начале один раз надо подключить компоненты WordFont1 и WordParagraphFormat1 к текущему абзацу и шрифту при помощи их метода ConnectTo.
…
// Добавление текста в Word
WordApplication1.selection.InsertAfter
('Результаты работы гениальной программы студента Б. Гейтса'+#13);
// подключение к текущему шрифту
WordFont1.ConnectTo(WordApplication1.Selection.Font);
// подключение к текущему абзацу
WordParagraphFormat1.ConnectTo
(WordApplication1.Selection.ParagraphFormat);
// название шрифта
WordFont1.Name:='Arial';
// размер
WordFont1.Size:=14;
// выравнивание по центру
WordParagraphFormat1.Alignment:=wdAlignParagraphCenter;
// Установка нулевого абзацного отступа
WordParagraphFormat1.FirstLineIndent:=0;
// Снимаем выделение текста
par:=wdCollapseEnd;
WordApplication1.Selection.Collapse(par);
WordApplication1.selection.InsertAfter
('Второй абзац'+#13);
Особую важность играет вызов метода Collapse. Этот метод позволяет перейти к выводу в Word следующего абзаца, у которого, вероятно, будет иное оформление. Если забыть выполнить метод Collapse, то вновь вводимый текст заменит ранее введенный. В приводимом примере строчка "Результаты работы гениальной программы студента Б. Гейтса" просто исчезла бы из отчета.