Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PO_AIS_lektsii_4_kurs.docx
Скачиваний:
2
Добавлен:
29.08.2019
Размер:
114.08 Кб
Скачать

Компоненты Delphi для взаимодействия с серверами автоматизации ms Office

В поставку Delphi 5 включен ряд компонентов, специально предназначенных для организации взаимодействия с приложениями MS Office. Данные компоненты располагаются на странице Servers палитры компонентов Delphi IDE. Компоненты доступа к серверам автоматизации могут использоваться и для доступа к вложенным объектам приложений MS Office (таким как Document, ExcelWorkBook и т. п.).

Все компоненты доступа к серверам автоматизации являются потомками базового класса СОМ-серверов TOLEServer. В этом классе объявлен ряд абстрактных методов и свойств, позволяющих устанавливать связь с сервером автоматизации. Потомки класса TOLEServer создаются при импорте библиотек типов.

Рассмотрим опубликованные свойства компонентов серверов СОМ, устанавливающих контакт с интерфейсом ApplIcation (компоненты WordAppIication, Excel Application, PowerPointApplication, OutlookApplication). Наряду с традиционными для всех компонентов свойствами Name и Tag они содержат четыре дополнительных:

• AutoConnect : Boolean—определяет, загружать (true) или нет (false) сервер при запуске приложения;

• AutoQuit : Boolean — определяет, разрывать (true) или нет (false) связь с сервером при завершении работы приложения;

• ConnectKind : TConnectKind — определяет способ установления соединения с сервером.

Это свойство может принимать следующие значения:

• ckRunningOrNew — если приложение-сервер уже выполняется, то производится подключение к имеющемуся экземпляру сервера, в противном случае производится запуск нового экземпляра сервера;

• ckNewInstance — всегда создается новый экземпляр сервера;

• ckRunni ngInstance — подключение только к уже запущенному серверу;

• ckRemote — подключение к удаленному серверу;

• ckAttachToInterface — подключение не выполняется. При установке данного значения соединение с сервером производится с помощью метода ConnectTo. Значение свойства AutoConnect при этом не может устанавливаться в true. Обычно это значение свойства ConnectKInd неприменимо для серверов Application;

• RemoteMachineName — сетевое имя компьютера, на котором расположен сервер.Указывается при установке свойства ConnectKmd равным ckRemote.

Значительная часть остальных серверов, представленных на странице Servers палитры компонентов и предназначенных для работы с вложенными объектами приложений MS Office, обладают точно такими же опубликованными свойствами, за

исключением свойства AutoQuit, которое у них отсутствует.

При использовании компонентов-серверов СОМ для доступа к приложениям MS Office достаточно поместить на форму соответствующий компонент и затем вызывать требуемые методы сервера автоматизации, так же как методы обычного объекта Delphi. Например, для того чтобы выполнить подключение к серверу Word, создать в нем новый документ и передать в него текст, можно использовать следующий фрагмент кода:

WordApplicationl.Connect:

WordApplicationl.Visible:=true;

WordAppl i cationl.Documents . Add(EmptyParam. EmptyParam.

EmptyParam.EmptyParam);

WordApplicationl.Selection.InsertAfter('Пример создания нового документа'+#13);

WordApplicationl.Selection.InsertAfter('и передачи в него текста'+#13);

Здесь метод Connect устанавливает связь с сервером Word. В зависимости от значения свойства ConnectionKind выполняется подключение к запущенному приложению MS Word либо создается новый экземпляр сервера.

При установке свойства AutoConnect в значение true метод Connect вызывать не надо — связь с сервером устанавливается сразу при запуске приложения.

Из методов компонентов для связи с объектами автоматизации выделим следующие:

• Connect — устанавливает связь с сервером MS Word. Данный метод следует использовать, если значение свойства AutoConnect компонента WordApplication установленоравным false;

• ConnectTo — выполняет подключение к уже существующему объекту. В качестве аргумента этого метода указывается объект, с которым связывается компонент;

• Disconnect — разрывает соединение с сервером.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]