Компоненты Delphi для взаимодействия с серверами автоматизации MS Office
Все компоненты доступа к серверам автоматизации являются потомками базового класса COM-серверов TOLEServer. В этом классе объявлен ряд абстрактных методов и свойств, позволяющих устанавливать связь с сервером автоматизации. Потомки класса TOLEServer создаются при импорте библиотек типов.
Рассмотрим опубликованные свойства компонентов серверов СОМ, устанавливающих контакт с интерфейсом Application (компоненты WordApplication, ExcelApplication, PowerPointApplication, OutlookApplication). Наряду с традиционными для всех компонентов свойствами Name и Tag они содержат четыре дополнительных.
? AutoConnect: Boolean — определяет, загружать (true) или нет (false) сервер при запуске приложения.
? AutoQuit: Boolean — определяет, разрывать (true) или нет (false) связь с сервером при завершении работы приложения.
? ConnectKind : TConnectKind — определяет способ установления соединения с сервером. Это свойство может принимать следующие значения:
■ ckRunningOrNew — если приложение-сервер уже выполняется, то производится подключение к имеющемуся экземпляру сервера, в противном случае производится запуск нового экземпляра сервера;
■ ckNewInstance — всегда создается новый экземпляр сервера;
■ ckRunninglnstance — подключение только к уже запущенному серверу;
■ ckRemote — подключение к удаленному серверу;
■ ckAttachToInterface — подключение не выполняется.
В последнем случае (если свойство ConnectKind равно ckAttachToInterface) соединение с сервером производится с помощью метода ConnectTo, и значение свойства AutoConnect не может устанавливаться в true. Обычно значение ckAttachToInterface свойства ConnectKind неприменимо для серверов Application.
? RemoteMachineName — сетевое имя компьютера, на котором расположен сервер. Указывается при установке свойства ConnectKind равным ckRemote.
Значительная часть остальных серверов, представленных на странице Servers палитры компонентов и предназначенных для работы с вложенными объектами приложений MS Office, обладают точно такими же опубликованными свойствами, за исключением свойства AutoQuit, которое у них отсутствует.
При использовании компонентов-серверов СОМ для доступа к приложениям MS Office достаточно поместить на форму соответствующий компонент и затем вызывать требуемые методы сервера автоматизации, так же как методы обычного объекта Delphi. Например, для того чтобы выполнить подключение к серверу Word, создать в нем новый документ и передать в него текст, можно использовать следующий фрагмент кода;
WordAppl i cati onl.Connect:
WordApplicationl.Visible:=true;
WordAppli cati onl.Documents.Add(EmptyParam.EmptyParam.
EmptyParam.EmptyParam):
WordApplicationl.Selection.InsertAfter('Пример создания нового документа'+#13):
WordApplicationl.Selection.InsertAfter('и передачи в него текста'-+#13):
Здесь метод Connect устанавливает связь с сервером Word. В зависимости от значения свойства ConnectionKind выполняется подключение к запущенному приложению MS Word либо создается новый экземпляр сервера.
ПРИМЕЧАНИЕ------------------------------------------------------------------------------
При установке свойства AutoConnect в значение true метод Connect вызывать не надо — связь с сервером устанавливается сразу при запуске приложения.
Весь остальной текст приведенного фрагмента кода аналогичен предыдущему и не требует пояснений.
СОВЕТ------------------------------------------------------------------------------------------
Следует отметить, что компоненты-серверы WordApplication, ExcelApplication, Ро- werPointApplication, OutlookApplication устанавливают связь с сервером автоматизации через интерфейс Application. Поэтому их методы и свойства фактически являются методами и свойствами сервера, используемого при написании макросов на языке VBA в приложениях MS Office. В справочной системе Delphi практически не содержится информации о компонентах-серверах. Поэтому, если при работе с ними возникают затруднения, следует обращаться к справке по VBA, поставляемой с MS Office.
Из методов компонентов для связи с объектами автоматизации выделим следующие:
? Connect — устанавливает связь с сервером MS Word (данный метод следует использовать, если значение свойства AutoConnect компонента WordApplication равно false);
? ConnectTo — выполняет подключение к уже существующему объекту (в качестве аргумента этого метода указывается объект, с которым связывается компонент);
? Disconnect — разрывает соединение с сервером.
Помимо свойств и методов, компоненты-серверы могут обрабатывать ряд событий сервера автоматизации. Количество и виды обрабатываемых событий зависят от конкретного компонента.
Еще по теме Компоненты Delphi для взаимодействия с серверами автоматизации MS Office:
- АВТОМАТИЗАЦИЯ
- Богомазова Г.Н.. Установка и обслуживание программного обеспечения персональных компьютеров, серверов, периферийных устройств и оборудования, 2015
- Функциональные компоненты правового сознания.
- § 3.1. Основные структурные компоненты организации
- 54. Основные компоненты социального контроля
- Участие образных компонентов в мышлении следователя
- Основные компоненты.
- Дополнительные компоненты (общие).
- Дополнительные компоненты (специальные)
- Дополнительные компоненты общие.