Опубликован: 19.11.2012 | Уровень: для всех | Доступ: платный | ВУЗ: Национальный исследовательский университет "Высшая Школа Экономики"
Лекция 14:

Компоненты моделей объектов MS Office

< Лекция 13 || Лекция 14: 12 || Лекция 15 >
Аннотация: Чтобы использовать VBA, необходимо иметь представление об объектной модели приложения. Модель объектов показывает структуру объектов офисного приложения и их взаимосвязи.

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

Чтобы использовать 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.

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

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

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

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

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

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

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

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

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

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

14.2. Просмотр объектов, их свойств и методов (Object Browser)

Средство Object Browser предоставляет возможность просмотра и поиска объектов, их свойств и методов. Это средство доступно только в редакторе VB. Object Browser вызывается нажатием на пиктограмму  Object Browser или одноименной командой из меню View. Можно нажать клавишу F2.

Окно Object Browser

Окно Object Browser (рис.14.3) отображает классы, свойства, методы, события и константы объектных библиотек и процедур проекта. Средство Object Browser не дает представления об иерархии объектов.

Окно Object Browser состоит из нескольких раскрывающихся списков и панелей (окон), каждая из которых отображает часть результата поиска. Линии разбивки, разделяющие панели этого окна, позволяют изменять их размеры.

Верхний левый список на рис.14.3 называется Projects/Libraries и содержит перечень моделей объектов и библиотек, доступных для активного проекта (рис.14.4). При выборе значения All Libraries отображаются объекты всех доступных библиотек и проектов. Объект Office этого списка содержит объекты, общие для офисных приложений.

После выбора модели объектов в окне классов появляется перечень классов. Список всегда начинается с класса globals, компоненты которого доступны во всех модулях проекта.

После выделения класса компоненты этого класса отображаются в окне справа (рис.14.3). Компоненты класса обычно упорядочены по алфавиту. Порядок сортировки изменяется командой Group Members (Компоненты группы) контекстного меню. Каждому типу компонента соответствует свой значок (см. таблицу 14.1). Подробно см. Help, статья "Icons Used in the Object Browser and Code Windows". Если для класса или для компонента класса существует программный код, соответствующая строка выделяется жирным шрифтом.

Окно Object Browser

Рис. 14.3. Окно Object Browser
Перечень доступных библиотек

Рис. 14.4. Перечень доступных библиотек

В окне описания (нижняя панель на рис.14.3) высвечиваются краткие сведения по выделенному компоненту. Панель описания компонента показывает синтаксис выбранного объекта. Кроме формального описания, здесь обычно содержатся гиперссылки, нажатие на которые высвечивает соответствующую статью из Help'а.

В окне классов на рис.14.3 отражена модель объектов MS Excel, выделен объект Sheets,в окне компонентов перечислены свойства, методы и события коллекции Sheets и показаны сведения о методе Add этой коллекции.

Таблица 14.1. Значки компонентов в окне Object Browser
Значок Компонент Значок Компонент
Свойства Свойства Свойства по умолчанию Свойства по умолчанию
Методы Методы Методы по умолчанию Методы по умолчанию
События События Константы Константы
Модули Модули Классы Классы
Типы, определяемые пользователем Типы, определяемые пользователем Глобальные объекты Глобальные объекты
Библиотеки Библиотеки Проекты Проекты
Встроенные ключевые слова и типы Встроенные ключевые слова и типы Сгруппированные константы Сгруппированные константы

Панель инструментов Object Browser

На панели инструментов расположены кнопки, облегчающие поиск объектов приложения (см. рис.14.3).

Go BackGo Back позволяет перейти к объекту, ранее выбранному в списке компонентов класса.

Go ForwardGo Forward повторяет выбор объектов в списке компонентов класса, если осуществлялся возврат к ранее выбранному объекту.

Copy to ClipboardCopy to Clipboard копирует текст из окна описания после выделения нужного фрагмента, например, имени процедуры со списком формальных параметров. Если фрагмент не выделен, то копируется только название компонента. Допускается перетаскивание мышью текста из окна описания в окно модуля. Можно использовать команду Copy из контекстного меню окна описания.

View DefinitionView Definition помещает курсор в окно описания выделенного класса или компонента.

SearchSearch выполняет поиск библиотек, название компонентов которых соответствует образцу текста в поисковой строке Search Text. В этой строке можно вводить или выбирать искомый текст. Запоминаются значения четырех последних поисковых строк. В строке поиска допускается использование стандартных подстановочных символов. Команда Find Whole Word Only ("Только слово целиком") контекстного меню пиктограммы поиска задает поиск целых слов. Если поиск произведен успешно, то сведения о найденных компонентах размещаются на панели результатов поиска – панели Search Results. Эта панель отображает найденные библиотеки в алфавитном порядке. На рис.14.3 показан результат поиска метода Add.

Hide/Show Search ResultsHide/Show Search Results сворачивает или раскрывает окно результата поиска соответственно.

HelpHelp переключает в справочник по VBA на статью о компоненте, высвеченном в окне описания.

Выход из Object Browser

Переход к редактируемой процедуре осуществляется простым щелчком мыши, если текст процедуры виден на экране. В противном случае можно закрыть окно Object Browser нажатием на кнопку закрытия окна. При этом содержание справки сохраняется до следующего вызова Object Browser.

Можно в списке проектов/библиотек выбрать название нужного проекта, и тогда в окне классов появятся компоненты проекта (рис.14.5). Двойной щелчок на имени процедуры или названии модуля (процедурного листа) переводит в редактор VB.

Перечень процедур проекта

Рис. 14.5. Перечень процедур проекта
< Лекция 13 || Лекция 14: 12 || Лекция 15 >
Аннна Миллер
Аннна Миллер
Екатерина Дмитриева
Екатерина Дмитриева
Марина Сафонова
Марина Сафонова
Россия
Лидия Белова
Лидия Белова
Россия