Модель объектов

Чтобы использовать VBA, необходимо иметь представление об объектной модели приложения. Модель объектов показывает структуру объектов офисного приложения и их взаимосвязи. Каждое приложение предоставляет множество взаимосвязанных объектов. Объектами являются сами приложения Application (центральный или корневой объект) и их компоненты (встроенные объекты).

Примеры объектов

MS Excel – рабочий лист Worksheet, рабочая книга Workbook, диаграмма Chart

MS Access – форма Form, отчет Report

MS Word – документ Document, абзац текста Paragraph

MS Power Point – презентация Presentation, слайд Slide

Каждый элемент меню, каждая командная кнопка, любой элемент офисного документа являются объектами MS Office, которыми можно управлять программно.

Подробно структура объектов, синтаксис свойств и методов, перечень событий рассматриваются в справочнике по VBA (Help) соответствующего приложения. Справка по Visual Basic на рис.14.1 отражает структуру справочника VBA для MS Word. Нажатие на Microsoft Word Object Model развернет структуру объектов MS Word. В MS Excel это строка Microsoft Excel Object Model, а в MS PowerPoint строка имеет название Microsoft PowerPoint Object Model.


Рис. 14.1. Структура справочника VBA MS Word

На рис.14.2 представлены два фрагмента модели объектов MS Excel: фрагмент объекта Application и фрагмент объекта Range; видна иерархическая структура объекта Range, который подчинен объекту Application.


Рис. 14.2. Модель объектов MS Excel

Модель объектов отражает иерархические связи между объектами. На нулевом уровне иерархии расположен центральный объект, представляющий само приложение, которому подчинены другие объекты, составляющие первый уровень иерархии. Каждому из объектов первого и последующих уровней могут быть подчинены объекты следующего уровня и т. д. Например, в объекте Document содержатся объекты Paragraph. Доступ к объектам любого уровня возможен, если выполняется приложение, т. е. объект Application существует.

Модель объектов содержит простые объекты и коллекции объектов. Коллекция объектов (Collection) – это объект специального типа, существующий для управления объектами группы. Например, Workbooks является коллекцией всех открытых рабочих книг – объектов Workbook, а Worksheets – коллекцией рабочих листов некоторой рабочей книги – объектов Worksheet. Количество элементов коллекции заранее не фиксируется. Новый элемент может быть добавлен в произвольное место коллекции.

Операторы языка могут обращаться как к отдельному элементу коллекции (к объекту Workbook или к объекту Worksheet), так и ко всем объектам коллекции одновременно (к объекту Workbooks или к объекту Worksheets). Коллекция объектов и объекты этой коллекции обладают различными свойствами и методами.

Коллекция объектов, объединяя группу подобных объектов, является упорядоченной совокупностью объектов. Для доступа к конкретному объекту в коллекции можно использовать его имя или порядковый номер в коллекции: например, Workbooks(1) указывает на первую рабочую книгу, а Worksheets("Sheet2") указывает на лист с именем Sheet2. Элементы коллекции перенумеровываются при удалении или добавлении элементов в коллекцию.

Совокупность объектов приложения определяет содержимое и функциональные возможности приложения, а конкретные объекты, их свойства и методы – позволяют получить доступ к содержимому и функциональным возможностям объекта. В общем случае свойства описывают сам объект или его содержимое, а методы позволяют управлять функциональными возможностями объекта.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: