Советы по Delphi

         

Создание документов Word


Я обнаружил, что следующий код работает хорошо в связке Delphi -> Word 97 (с использованием поля "Закладки" в Word):

    ..
..
..


implementation

uses
OleAuto;
..
..
..


var

V : Variant ;
..
..
..

V := 0; // не забудьте инициализировать переменную
..
..
.. другие функции


if V = 0 then begin V := CreateOLEObject('Word.Application'); V.WordBasic.AppShow; end;
// данный пример показывает технологию заполнения полей // некой закладки в "стандартном письме" с помощью запроса, // выполненного прежде в модуле данных pnm_data (OK, // надо было бы использовать блок with...!) V.WordBasic.Fileopen('Имя вашего документа Word'); V.WordBasic.EditBookmark('Заголовок',0,0,0,1); V.WordBasic.Insert(Title); V.WordBasic.EditBookmark('Имя',0,0,0,1); V.WordBasic.Insert(FirstName + ' '); V.WordBasic.EditBookmark('Фамилия',0,0,0,1); V.WordBasic.Insert(pnm_data.ContactsQuery1Fam_Name.AsString + ' '); V.WordBasic.EditBookmark('Адрес1',0,0,0,1); V.WordBasic.Insert(pnm_data.ContactsQuery1Address1.AsString + ' '); V.WordBasic.EditBookmark('Адрес2',0,0,0,1); V.WordBasic.Insert(pnm_data.ContactsQuery1Address2.AsString + ' '); V.WordBasic.EditBookmark('Адрес3',0,0,0,1); V.WordBasic.Insert(pnm_data.ContactsQuery1Address3.AsString + ' '); V.WordBasic.EditBookmark('Заголовок1',0,0,0,1); V.WordBasic.Insert(Title); V.WordBasic.EditBookmark('Фамилия1',0,0,0,1); V.WordBasic.Insert(pnm_data.ContactsQuery1Fam_Name.AsString + ' ');
(Вы могли бы также использовать команду V.WordBasic.PrintDefault, если вы хотите напечатать ваш документ... и множество других команд, типа сохранения, смены шрифта и т.д.)
....другое

[000192]



Содержание раздела