На этом шаге мы рассмотрим фрагмент объектной модели VBE.
Для программирования приложений знать только номер версии часто бывает недостаточно, поэтому обратим внимание на коллекции VBProjects и CodePanes (рисунок 1).
Рис.1. Фрагмент объектной модели VBE
Первая представляет собой список, как правило, совпадающий со списком открытых рабочих книг. Каждая рабочая книга может содержать программные модули, модули классов, формы и модули документов. Совокупность всех или части перечисленных элементов представляет собой проект. Далее мы будем рассматривать только программные модули, которые являются элементами коллекции VBComponents и могут быть добавлены или удалены с помощью методов этой коллекции. Коллекция CodePanes позволяет только обеспечить доступ к текстам программных модулей. Например, доступ к программному модулю первого элемента CodePanes осуществляется с помощью следующего оператора:
CodeModule:=E.VBE.CodePanes.Item(1).CodeModule;
Программный модуль непосредственно содержит тексты макросов. Методы и свойства этого объекта (CodeModule) мы рассмотрим позже. Сейчас вернемся к рассмотрению свойств элемента коллекции VBProjects, доступ к которому обеспечивает метод Item(i:Integer). Его свойства перечислены в таблице 1.
Свойство | Тип | Назначение |
---|---|---|
References | Объект | Ссылки на внешние объекты |
Collection | Объект | Ссылка на родительский объект VBProjects |
Description | String | Текст, связанный с объектом |
HelpContextID | Integer | Ссыпка в файле помощи |
HelpFile | String | Имя файла помощи |
Mode | Integer | Режим, в котором находится проект |
Name | String | Имя объекта |
Protection | Integer | Признак защиты проекта |
Saved | Boolean | True - сохранен, False - не сохранен |
VBE | Объект | Ссылка на корневой объект VBE |
VBComponents | Объект | Ссылка на коллекцию компонентов |
В таблице 1 перечислены свойства любого проекта, созданного в среде рабочей книги Excel. Используем только коллекцию VBComponents, которая представляет собой набор элементов, входящих в проект (таблица 2).
Свойство или метод | Тип | Назначение |
---|---|---|
Add | Метод | Добавление нового компонента |
Count | Integer | Количество элементов коллекции |
Import | Метод | Импорт модуля из файла |
Remove | Метод | Удаление компонента |
Item | Метод | Элемент коллекции |
На следующем шаге мы рассмотрим некоторые свойства и методы из перечисленной коллекции.