Автоматизация приложений Microsoft Office в примерах

       

Часть 1. Microsoft Word и Microsoft Excel


Наталия Елманова

Коротко об автоматизации
VBA и средства разработки контроллеров автоматизации
Объектные модели Microsoft Office
Общие принципы создания контроллеров автоматизации
Автоматизация Microsoft Word
Программные идентификаторы и объектная модель Microsoft Word
   Создание и открытие документов Microsoft Word
   Сохранение, печать и закрытие документов Microsoft Word
   Вставка текста и объектовв документ и форматирование текста
   Перемещение курсора по тексту
   Создание таблиц
   Обращение к свойствам документа
Автоматизация Microsoft Excel
   Программные идентификаторы и объектная модель Microsoft Excel
   Запуск Microsoft Excel, создание и открытие рабочих книг
   Сохранение, печать и закрытие рабочих книг Microsoft Excel
   Обращение к листам и ячейкам
   Создание диаграмм

Настоящая статья посвящена теме, может быть, и не новой, но, как показывают письма читателей, по-прежнему актуальной - автоматизации приложений Microsoft Office. Многие разработчики в процессе работы над своими проектами (неважно, с помощью какого средства разработки - Delphi, C++Builder, Visual Basic:) нередко применяют сервисы, предоставляемые Microsoft Office, например построение сводных таблиц и диаграмм с помощью Microsoft Excel, генерацию и печать документов с помощью Microsoft Word и т.д. Нередко пользователи, привыкшие использовать приложения Microsoft Office в повседневной работе, сами настаивают на применении в приложениях таких сервисов либо просто на сохранении отчетов и других документов в одном из форматов Microsoft Office. Отметим, что потенциальные пожелания подобного рода компанией Microsoft учтены достаточно давно - практически все, что в состоянии сделать пользователь любого приложения Microsoft Office с помощью меню, клавиатуры и инструментальной панели, может быть произведено и автоматически, то есть либо из VBA-программы, либо из приложения, созданного с помощью одного из средств разработки.
Иными словами, приложения Microsoft Office являются программируемыми. Программируемость в общем случае означает возможность управления данным приложением с помощью макроязыков либо с помощью других приложений. Все компоненты Microsoft Office поддерживают один и тот же макроязык: Visual Basic for Applications (VBA), позволяющий создавать приложения непосредственно внутри документов Office (это называется <решения на базе Microsoft Office>). Управление же компонентами Office из других приложений осуществляется с помощью автоматизации (Automation, ранее - OLE Automation) - все приложения Microsoft Office являются серверами автоматизации (или COM-серверами). Для создания таких приложений пригодны любые средства разработки, позволяющие создавать контроллеры автоматизации (COM-клиенты). Наиболее часто для этой цели используется Visual Basic, но это могут быть и Delphi, и C++Builder, и Visual C++. Однако прежде чем обсуждать возможности тех или иных средств разработки, следует разобраться, что такое автоматизация.


Содержание раздела