
2. Автоматизация
На основе СОМ разработаны и используются многие технологии. Одна из них – автоматизация (Automation) была создана довольно давно и широко применяется в самых распространенных пользовательских приложениях ОС Windows. Эта технология обеспечивает использование функций одних приложений из других приложений. Взаимодействие между ними осуществляется за счет использования набора специально созданных интерфейсов.
Базовым интерфейсом автоматизации является обычный интерфейс СОМ, который реализуется при помощи виртуальной таблицы указателей на его методы.
Приложение, выступающее в роли клиента, т.е. запрашивающее объекты других приложений, называется контроллером автоматизации. Приложение. Предоставляющее функционирующий объект автоматизации и зарегистрированное в операционной системе, является сервером автоматизации.
Существует только два пути, по которым можно пойти, чтобы автоматизировать работу приложений MS Office (например, Access)^
С помощью пользовательского интерфейса. Присутствие связанного или встроенного объекта в таблице дает разработчику возможность использовать эту таблицу как источник записи для связанных форм. Для того, чтобы вызвать серверное приложение необходимо дважды щелкнуть на внедренном или связанном приложении мышью.
С помощью языка программирования VBA.
На (СЛАЙДЕ 5) изображена классическая схема автоматизации.
Пример «Управление приложением Excel из Access».
Перед тем, как использовать автоматизацию необходимо установить связь с различными прикладными библиотеками объектов приложения. Для модуля VBA эта связь устанавливается следующим образом:
1. выбрать Tools References;
2. установить флажок Microsoft Excel 10.0 Object Library;
3. выделить в окне object Browser требуемый модуль (создать новый модуль) и нажать клавишу «F2»;
4. из выпадающего списка объектов Project/Library выбрать Excel.
Следующим шагом является объявление объектных переменных. Реализуется этот шаг с помощью ключевого слова Dim. Именно после этого устанавливаются связи между клиентом и сервером автоматизации.
Электронная таблица заполняется данными из таблицы Access. результаты выполнения каждой задачи фиксируются, а значения подсчитываются после выполнения последней строки.
Чтобы загрузить электронную таблицу Excel из приложения Access с помощью автоматизации, программа выполняет следующие действия:
1. открывается таблица;
2. используя запрос Excel, объявленный соответствующей инструкцией, создается ссылка на новый объект;
3. подпрограмма создает ссылку к новому рабочему листу, а затем запускает приложение Excel, после чего таблица отображается на экране;
4. создаются заголовки столбцов;
5. с помощью набора записей создается цикл, который добавляет ячейки в электронную таблицу;
6. в следующей за последним значением строке создается расчетная ячейка.
(исключены процедуры обработки ошибок в случае не нахождения объекта сервера – Excel)
3. Active X.
С точки зрения программиста Active X – это черный ящик, обладающий свойствами, методами и событиями. Элементы Active X встраиваются в визуальные среды программирования и помогают программистам использовать всю мощь компонентного программирования.
С точки зрения модели объектов СОМ элемент управления Active X – это сервер, поддерживающий технологию Automation, реализованный в виде динамической библиотеки и исполняемый в адресном пространстве приложения и допускающий визуальное редактирование.