Можно считать, что Automation использует две основные функции: CreateObject и GetObject.
Функцию создания объекта CreateObject можно использовать для запуска приложений как серверов Automation этого объекта и создания экземпляра класса объекта-приложения. Объект Automation – это экземпляр или реализация некоторого класса. Использование этой функции подчиняется следующим правилам:
Dim ОбъектнаяПеременная As Object
Set ОбъектнаяПеременная = CreateObject( _ “ИмяПриложения.ТипОбъекта”)
Соответствие основных приложений Microsoft Office, объектов и классов представлено в табл. 7.
При работе с Excel следует использовать класс Excel.Application, если нужно представить данные и оставить пользователя в Excel. Если свойство Visible этого класса сделать равным True, то можно выйти из приложения, вызвавшего Excel, не закрывая сам Excel. Класс Excel.Sheet используется, если необходимо произвести промежуточные расчеты или заполнить рабочий лист данными для последующего использования. При выходе из приложения этот объект будет закрыт. Класс Excel.Chart используется для создания диаграммы.
При объявлении переменной типа Object происходит позднее связывание. Раннее связывание производится на этапе компиляции, если тип переменной-объекта известен заранее. Перед написанием кода, использующего Automation, необходимо сослаться на библиотеку серверов Automation. Ссылку можно установить с помощью команды Ссылки меню Сервис. После этого можно использовать синтаксис для раннего связывания:
Dim ОбъектнаяПеременная As Класс
Set ОбъектнаяПеременная = CreateObject( _ “ИмяПриложения.ТипОбъекта”)
Существует несколько способов загрузки объектов-приложений. Первый метод использует переменную, объявленную объектом нужного типа на уровне процедуры. Это позволит не заботиться об уничтожении объекта по окончании процедуры: так как область видимости объекта ограничена только данной процедурой, закрытие объекта произойдет автоматически при выходе из процедуры. Следует учитывать, что скрытые объекты работают быстрее, чем видимые, поэтому устанавливать свойство Visible в True следует только тогда, когда появляется необходимость представить пользователю результаты работы.
Пример кода для загрузки приложения Excel, использующий функцию CreateObject: