Использование технологии автоматизации для работы с пакетом Microsoft Office, страница 4

AppClose - закрыть приложение (сервер автоматизации).

Использование интерфейса объекта автоматизации Application

С объектом автоматизации Application связан строковый идентификатор "Word.Application". Следующий фрагмент программы устанавливает указатель W на интерфейс объекта автоматизации Application, запускает сервер автоматизации Word, устанавливает свойство Visible объекта автоматизации Application равным true для отображения окна текстового редактора на экране, методом Add создает новый документ в коллекции Documents открытых на текущий момент документов, методом Selection выбирает последний открытый документ в коллекции Documents  и вставляет строки текста в документ методом TypeText. Включаемые в строку текста символы '\n' обеспечивают перевод курсора в начало следующей строки документа, т.е. вызывают "возврат каретки" и образование абзацев.

Variant W, D, S;

PropertySet VisTrue("Visible");

PropertyGet GetDocs("Documents");

Function DocAdd("Add");

PropertyGet GetSel("Selection");

Procedure AddText("TypeText");

W = CreateOleObject("Word.Application");

VisTrue << true;

W.Exec(VisTrue);

D = W.Exec(GetDocs);

D.Exec(DocAdd);

S = W.Exec(GetSel);

AddText.ClearArgs();

S.Exec(AddText << WideString("Пример №2 создания нового документа\n\

и передачи в него текста\n\

методом позднего связывания"));

Поскольку документ включает в себя абзацы, то сервер автоматизации Word для работы с ними предоставляет объект автоматизации Paragraphs. Новый абзац вставляется в документ с помощью имеющегося у объекта Paragraphs метода Add, выполнение которого дает такой же эффект, какой получается, если пользователь, работающий в текстовом редакторе, нажимает на клавишу Enter. Например, следующий оператор обеспечивает вставку в 1-й открытый документ трех пустых абзацев:

for (int i=0; i<3; i++)
W.OlePropertyGet("Documents").OleFunction("Item",1).
OlePropertyGet("Paragraphs").OleFunction("Add");