На этом шаге мы приведем общие сведения о возможности создания контроллеров для управления приложениями 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). Поэтому при создании приложений, использующих раннее связывание, следует генерировать интерфейсный модуль к этим библиотекам.
Приложение | Имя справочного файла | Местоположение библиотеки типов |
---|---|---|
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.