Пятница, 17.05.2024, 13:03
Главная Регистрация RSS
Приветствую Вас, Гость
Главная » Delphi и Microsoft Office » Работа с сервером Word. Часть 3
08:18

Работа с сервером Word. Часть 3

При работе с сервером автоматизации OLE создание документа с параметрами по умолчанию выглядит проще, так как в этом случае не надо задавать необязательные параметры: WordApplicationl.Documents.Add; Если приложение Delphi 7 или 6 ориентировано на Microsoft Office 97, то оператор создания нового пустого документа для сервера СОМ может иметь вид:

WordApplicationl.Documents.Add(EmptyParam, EmptyParam); 

При этом в модуль должен быть включен оператор

uses ... Word97;

А если вы хотите в Delphi 7 сделать универсальное приложение с сервером СОМ, то вам надо включить в модуль оператор

uses ... Word97, WordXP;

а создание нового документа оформить, например, следующим образом:

if (StrToInt(Copy(WordApplicationl.Version,0,Pos(' .', 
WordApplicationl.Version)-1))) < 9
then
//для Word 91
(WordApplicationl.Documents as Word97.Documents).
Add(EmptyParam, EmptyParam)
else
//для Word 2000/XP
(WordApplicationl.Documents as WordXP.Documents).
Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);

Пояснения приведенных операторов дано в статье "Организация работы с приложениями Microsoft Office". В последнем операторе операцию asWordXP.Documents можно убрать, так как модуль WordXP указан в операторе uses вторым и, следовательно, используется по умолчанию. Если вы хотите создать документ на основе своего шаблона "C:\MyTemplate\My.dot", то код должен быть следующим (далее, чтобы не повторяться, приведены только варианты для сервера COM Microsoft Office 2000/XP):

var Template:OleVariant; 
Template := 'C:\MyTemplate\My.dot1;
WordApplicationl.Documents.Add(Template, EmptyParam,
EmptyParam, EmptyParam);

А если требуется создать документ как новый шаблон на основе обычного шаблона, то код будет таким:

var NewTemplate: OleVariant; 
NewTemplate := true;
WordApplicationl.Documents.Add(EmptyParam, NewTemplate,
EmptyParam, EmptyParam);

При передаче булевых аргументов можно использовать значение 0 вместо false и целое ненулевое значение (например, 1) вместо true. Поэтому, в последнем варианте кода задание значения NewTemplate можно выполнить следующим оператором:

NewTemplate := 1;
Категория: Delphi и Microsoft Office | Просмотров: 1537 | Добавил: PeKpyT | Рейтинг: 0.0/0
Всего комментариев: 1
1 студент  
0
люди помогите срочно нужно написать прогу которая выводила бы отчеты в word из бд прога на delphi

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]