Скачиваний:
40
Добавлен:
28.06.2014
Размер:
57 Кб
Скачать
☆

Работа с компонентом WordDocument

Присоединение к активному документу:

WordDocument1 -> ConnectTo ( WordApplication1 -> ActiveDocument);

Выделение фрагментов в документе

Content– объект отражающий весь текст документа. С его помощью можно изменить свойства текста, например,

WordDocument1 -> Content->Font->Bold=0;

Текст в документе разбивается на непрерывные фрагменты (объекты Range). Такой объект можно создать специальным методом, например, следующий код позволяет работать с третьим абзацем документа:

TVariant i=3;

RangePtr MyRange;

MyRange=WordApplication1 -> ActiveDocument->Paragraphs->Item(i)->get_Range();

MyRange->Font->Italic=true;

Также можно указать номера символов, ограничивающих интересующий нас фрагмент документа:

TVariant i=1, j=20;

RangePtr MyRange=WordDocument1->Range(&i,&j);

MyRange->Font->Italic=true;

Следующий код позволяет выделить объект Range и вставить перед ним текст:

TVariant i=2;

WordDocument1->Paragraphs->Item(i)->get_Range()->Select();

WordApplication1-> Selection->InsertBefore(TVariant("Москва"));

Закрытие документа

Метод Closeвыполняет закрытие документа.

WordDocument1->Close();

Если документ был изменен, то Wordпредложит сохранить его. Для подавления этого запроса необходимо использоватьCloseс параметром:

TVariant d;

d=(TVariant)wdDoNotSaveChanges;

WordDocument1->Close(&d);

При значении параметра wdSaveChanges запрос сохранится.Следующий код закрывает все открытые документы (без запроса на их сохранение):

TVariant d;

int n, i;

d=(TVariant)wdDoNotSaveChanges;

n=WordApplication1->Documents->Count;

for (i=1; i<=n; i++)

{ a=(TVariant) i;

WordApplication1->Documents->Item(&a)->Close(&d);

}

Работа с объектом WordFont1

Присоединение к объекту Selectionможно выполнить так:

WordFont1->ConnectTo(WordApplication1->Selection->Font);

После установления связи с фрагментом текста можно задавать различные параметры. Например:

  • Выбрать шрифт

WordFont1->set_Name(TVariant(“Times New Roman”));

  • Установить размера

WordFont1->set_Size(18);

  • Жирность

WordFont1->set_Bold(true);

  • Подчеркивание

WordFont1->set_Underline(wdUnderlineSingle);

Различные виды подчеркивания задают специальные константы (вместо имен можно использовать числовые константы):

  • wdUnderlineNone = 0 – без подчеркивания,

  • wdUnderlineSingle = 1 – одинарное;

  • wdUnderlineDouble = 3 – двойное подчеркивание,

  • wdUnderlineDotted = 4 – точечное;

  • wdUnderlineDash = 7 - пунктирное,

  • wdUnderlineDotDash = 9 – штрих-пунктир,

  • wdUnderlineWords = 2 – подчеркнуть слова и т.д.

Цвет символов можно установить так:

WordFont1->set_ColorIndex(wdRed);

Цвет можно задать следующими константами: wdAuto = 0, wdBlack = 1, wdBlue = 2, wdTurquoise = 3, wdBrightGreen = 4, wdPink = 5, wdRed = 6, wdYellow = 7, wdWhite = 8, wdDarkBlue = 9 и т.д.

В Builder C++ 5.0 значения свойств задаются без использования методов set_…(). Например,

WordFont1->Underline=wdUnderlineSingle;

WordFont1->Bold=true; WordFont1->Bold=1;

Работа с объектом WordParagraphFormat

Присоединение к объекту Selection->ParagraphFormat

WordParagraphFormat1->ConnectTo(WordApplication1->Selection-> ParagraphFormat);

Компонент WordParagraphFormatпомогает легко задать свойства, отвечающие за оформление текста. Следующие примеры позволяют понять как это делается.

Межстрочный интервал

WordParagraphFormat1->set_LineSpacingRule(wdLineSpaceSingle);

Следующие константы задают значения одинарного, полуторного и двойного интервала между строками:

  • wdLineSpaceSingle = 0,

  • wdLineSpace1pt5 = 1,

  • wdLineSpaceDouble=2.

Выравнивание

WordParagraphFormat1->set_Alignment(wdAlignParagraphLeft);

Следующие константы задают:

  • wdAlignParagraphLeft = 0 – выравнивание по левому краю,

  • wdAlignParagraphCenter = 1 – по центру,

  • wdAlignParagraphRight = 2- по правому краю,

  • wdAlignParagraphJustify = 3 – по ширине.

Отступ

  • Отступ первой строки

WordParagraphFormat1->set_FirstLineIndent(36.0);

  • Отступ перед абзацем

WordParagraphFormat1->set_SpaceBefore(0);

  • Отступ после абзаца

WordParagraphFormat1->set_SpaceAfter(12);

Установить стиль абзаца

Например оформим фрагмент текста как заголовок первого уровня (стиль “Заголовок1”):

WordParagraphFormat1->set_Style(TVariant(“Заголовок 1”));