Шаг 39.
Серверы и контроллеры автоматизации. Создание контроллеров автоматизации для приложений Microsoft Office

    На этом шаге мы приведем общие сведения о возможности создания контроллеров для управления приложениями Microsoft Office.

    Материал последующих шагов является логическим продолжением предыдущих. Они посвящены автоматизации приложений семейства Microsoft Office, а именно Microsoft Word, Microsoft Excel, Microsoft PowerPoint и Microsoft Outlook - именно эти приложения наиболее часто используются не только в качестве пользовательских инструментов, но и в качестве серверов автоматизации. Многие разработчики в процессе работы над своими проектами применяют сервисы, предоставляемые Microsoft Office, такие как средства построения сводных таблиц и диаграмм с помощью Microsoft Excel, генерации и печати документов с помощью Microsoft Word и т. д. Нередко пользователи, привыкшие применять приложения Microsoft Office в повседневной работе, сами настаивают на наличии в приложениях таких сервисов или просто на сохранении отчетов и других данных в виде документов Microsoft Office.

    Отметим, что потенциальные пожелания подобного рода компанией Microsoft учтены достаточно давно - практически все, что может сделать пользователь любого приложения семейства Microsoft Office (включая не только перечисленные выше четыре продукта этого семейства, но и Microsoft Project, Microsoft Visio, Microsoft MapPoint) с помощью меню, клавиатуры и панели инструментов, может быть сделано автоматически, то есть средствами контроллеров автоматизации.

    Из наиболее широко известных коммерческих приложений, представляющих собой контроллеры автоматизации Microsoft Office, следует отметить средства приема сертификационного экзамена MOUS (Microsoft Office User). Эти средства представляют собой контроллеры автоматизации соответствующих приложений, анализирующие состояние объектов сервера и на основании этого анализа определяющие, справился ли пользователь с очередным заданием. Это весьма редкий пример вовлечения конечного пользователя в работу сервера - большая часть контроллеров Microsoft Office обычно просто инициирует генерацию документов на основании данных, которыми манипулирует подобное приложение. Из наиболее известных коммерческих продуктов, использующих подобный способ автоматизации приложений Microsoft Office, можно отметить AllFusion Modeling Suite (Computer Associates), а также некоторые средства генерации проектной документации и генераторы отчетов. Сами приложения Microsoft Office также обладают подобной функциональностью (например, именно так работают средства экспорта в Word презентаций PowerPoint).

    В комплект поставки любого коммерческого сервера автоматизации обычно входит документация и справочные файлы, описывающие их объектную модель. В случае Microsoft Office 2000 - это справочные файлы для программистов на Visual Basic for Applications VBAxxx9.CHM, в случае Microsoft Office XP - файлы VBAxx10.CHM. Отметим, что но умолчанию они не устанавливаются, так как нужны разработчикам, а не рядовым пользователям. Помимо этого, вся информация об объектах, нужная контроллерам автоматизации, содержится в библиотеках типов (таблица 1), имеющих в случае приложений Microsoft Office расширение *.olb (за исключением Excel 2002 - библиотека типов этого приложения находится в самом исполняемом файле Excel.exe). Поэтому при создании приложений, использующих раннее связывание, следует генерировать интерфейсный модуль к этим библиотекам.

Таблица 1. Местоположение справочных файлов по VBA и библиотек типов приложений Microsoft Office
Приложение Имя справочного файла Местоположение библиотеки типов
Microsoft Word 2000 VBAWRD9.CHM MSWORD9.OLB
Microsoft Excel 2000 VBAXL9.CHM EXCEL9.OLB
Microsoft PowerPoint 2000 VBAPPT9.CHM MSPPT9.OLB
Microsoft Outlook 2000 VBAOUTL9.CHM MSOUTL9.OLB
Microsoft Word 2002 VBAWD10.CHM MSWORD.OLB
Microsoft Excel 2002 VBAXL10.CHM EXCEL.EXE
Microsoft PowerPoint 2002 VBAPP10.CHM MSPPT.OLB
Microsoft Outlook 2002 VBAOL10.CHM MSOUTLOLB

    Если специально не оговорено, во всех дальнейших примерах используется позднее связывание.

    На следующем шаге мы приведем общие сведения об объектных моделях приложений Microsoft Office.




Предыдущий шаг Содержание Следующий шаг