Наборы объектов, которые предназначены для выполнения задач, относящихся к одной области, называются объектными моделями. Например, в объектной модели Excel предусмотрены объекты, представляющие само приложение Excel, рабочую книгу, отдельные листы на этой рабочей книге, наборы ячеек, диаграммы и т. п. В гл. 10—15 будут подробно разобраны объектные модели приложений Microsoft Office: Word, Excel, Access, PowerPoint, Project, Outlook. Однако при программировании на языке VBA и при создании своих собственных приложений ограничиваться только объектными моделями приложений Office совсем не обязательно.
В операционную систему Windows встроено множество других объектных моделей, применение которых может очень сильно расширить возможности ваших приложений. Далее приведен список дополнительных объектных моделей, которые встроены в Windows или в другие продукты Microsoft (об этом будет сказано отдельно), которыми я пользуюсь очень активно. Справку по большинству этих объектных моделей можно найти в MSDN (Microsoft Developer Network, официальная документация для разработчиков). Получить из нее информацию можно со страницы www.microsoft.com/msdn.Кроме того, MSDN можно установить на свой компьютер с компакт-дисков или DVD.
Чтобы использовать возможности этих объектных моделей в своей программе, необходимо добавить ссылку на них в ваш проект. Делается это очень просто: в окне редактора Visual Basic выберите Tools | References и в списке установите флажок около нужной библиотеки.
Вот перечень наиболее интересных с точки зрения применения в своих приложениях объектных моделей:
r Windows Script Host Object Model (wshom.exe) — эта библиотека предназначена для автоматизации работы администраторов. Она предоставляет возможность программно работать с сетью, принтерами, реестром, ярлыками, журналом событий, позволяет запускать внешние приложения и передавать в них нажатия клавиш и консольные строки и т. п. Есть на всех компьютерах с Windows 2000, ХР, 2003 (в качестве необязательного компонента имеется и в Windows 98 Second Edition и Windows NT 4.0);
r Microsoft Scripting Runtime (scrrun.dll)— еще одна библиотека для администраторов. Главное ее богатство — очень удобный (и при этом простой) набор классов для работы с файловой системой — дисками, каталогами, файлами, содержимым текстовых файлов и т. п. Поставляется в одном наборе с Windows Script Host Object Model;
r Microsoft ADO (набор файлов, начинающихся с "msado")— классы для работы с базами данных. Эта библиотека будет подробно рассмотрена в гл. 9. Также имеется на всех без исключения компьютерах под управлением Windows 2000, ХР и Windows 2003 Server (обычно сразу несколько версий);
r Microsoft SQLDMO Object Library (файл sqldmo.dll)— набор классов для получения полного контроля над Microsoft SQL Server (возможность производить любые административные операции, выполнять запросы и т. п.). Имеется только на тех компьютерах, на которых установлен SQL Server версий 7.0, 2000 или 2005. В SQL Server 2005 она разбита на несколько частей — SMO (SQL Server Management Objects), RMO (Replication Management Objects) и АМО (Analysis Management Objects);
r Microsoft CDO (версия 1.21, for NT5 версия 1.2, for Windows 2000 версия 1.0; файлы olemsg.dll, cdonts.dll, cdosys.dll)— наборы классов для работы с электронной почтой. Можно использовать для создания и отправки своих почтовых сообщений, просмотра новых сообщений в почтовом ящике и т. п. Есть на всех компьютерах под управлением Windows 2000, ХР и Windows 2003 Server. На компьютерах с более старыми операционными системами обычно также имеется, поскольку эта библиотека устанавливается вместе с Microsoft Office;
r Microsoft WMI Scripting v1.1 (wbemdisp.tlb)— расширение возможностей программ через программный интерфейс WMI (Windows Management Instrumentarium). Возможности совершенно невероятные: от управления скоростью вращения вентилятора (и вообще работы с любыми устройствами, про которые знает операционная система) до установки программного обеспечения, запуска процессов на удаленном компьютере, управления службами и т. п. В этой модели реализованы очень мощные возможности работы с событиями. Например, можно выполнять какой-либо код в ответ на запуск или завершение работы программы с определенным именем на удаленном компьютере, в ответ на создание или удаление файла в каталоге, появления записи в журнале событий и т. п. Эта объектная модель (вместе со службой WMI) встроена во все компьютеры под управлением Windows 2000, ХР и Windows 2003 Server. Тем, кого интересуют приемы работы с WMI, я могу посоветовать обратиться к своей статье (точнее, к главе из учебного курса), которая доступна по адресу:
www.askit.ru/progr_admin/progr_admin_ml4.htm;
r Active Directory Scripting Interface (adsldp.dll, wldap32.dll, adsnt.dll, adsnds.dll, adsnw.dll) — взаимодействие с объектами в каталогах Active Directory, NT, NetWare, т. е. работа с учетными записями пользователей, группами, объектами компьютеров, принтеров и т. п. Также встроена в операционные системы Windows 2000, ХР и Windows 2003 Server (как в серверные, так и в пользовательские версии);
r объектная модель Windows Explorer. Информации о ней в справке не так много, но иногда она очень удобна для выполнения различных операций с файлами на диске;
r объектная модель Internet Explorer — очень мощное и удобное средство для организации взаимодействия с пользователем. Позволяет показывать пользователю Web-страницы (последовательно меняя их, можно организовать "мультфильм"), флэш-ролики, демонстрировать видео- и аудиоклипы и т. п. Эта объектная модель очень удобна и для сбора информации от пользователей при помощи скриптов и форм HTML, хотя в Microsoft Office для этой цели чаще всего используются обычные графические формы (о которых рассказывается в гл. 5).
Для тех, кто никогда не работал с этими объектными моделями, их применение может показаться темным лесом, но на практике все не так страшно. Они изначально создавались таким образом, чтобы с ними удобно было работать пользователям, не являющимся профессиональными программистами (например, администраторам). По опыту слушателей учебного курса "Программирование для администраторов", где рассматриваются эти объектные модели, освоить их можно очень быстро.