О коллекциях
Иерархия объектов
Об объектах и коллекциях
Если вы полностью изучили первую часть этой главы, то должны иметь представление о VBA и знать основные методы управления модулями VBA в редакторе Visual Basic . Кроме того, вы ознакомились с примерами кода VBA , а в предыдущих разделах уже встречались с такими элементами, как объекты и свойства. В этом разделе приводится дополнительная информация об объектах и коллекциях объектов.
Работая с кодом VBA , вы должны четко понимать назначение объектов и объектной модели Excel . Целесообразнее рассматривать объекты с точки зрения иерархической структуры.
На вершине объектной модели находятся объект Application — в данном случае. Excel . Но если вы программируете в VBA , запуская VBE в Microsoft Word , то объектом Application будет выступать Word .
Объект Application (то есть Excel ) содержит другие объекты. Ниже приведено несколько примеров объектов, которые находятся в объекте Application :
Workbooks (коллекция всех объектов Workbook —рабочих книг);
Windows (коллекция всех объектов Window — окон);
Addlns (коллекция всех объектов Addln — надстроек).
Некоторые объекты могут содержать другие объекты. Например, коллекция Workbooks состоит из всех открытых объектов Workbook , а объект Workbook включает другие объекты, некоторые из которых представлены ниже:
Worksheets (коллекция объектов Worksheet — рабочих листов);
Charts (коллекция объектов Chart —диаграмм);
Names (коллекция объектов Name — имен).
Каждый из этих объектов, в свою очередь, может содержать другие объекты. Коллекция Worksheets состоит из всех объектов Worksheet рабочей книги Workbook . Объект Worksheet включает другие объекты, среди которых следующие:
ChartObjects (коллекция объектов. ChartQb ject — элементов диаграмм);
Range — диапазон;
PageSetup — параметры страницы;
PivotTables (коллекция объектов PivotTable — сводных таблиц).
Может быть, вы пока не готовы правильно воспринять подобную концепцию, но со временем наверняка поймете, что иерархия объектов вполне логична и хорошо структурирована. Кстати, вся объектная модель Excel схематически изображена в электронной справочной системе.
Одной из ключевых концепций в программировании на языке VBA являются коллекции. Коллекция — это группа объектов одного класса (и сама коллекция тоже является объектом). Как указывалось выше, Workbooks — это коллекция всех открытых, в данный момент объектов Workbook . Worksheets — коллекция всех объектов Worksheet , которые содержится в конкретном объекте Workbook . Вы можете одновременно управлять целой коллекцией объектов или отдельным объектом этой коллекции. Чтобы сослаться на один объект из коллекции, введите название или номер объекта в скобках после названия коллекции: Worksheets ("Лист1")
Если лист Лист1 — это первый рабочий лист в коллекции, то можно использовать следующую ссылку.
Worksheets (1)
На второй лист в рабочей книге Workbook ссылаются как на Worksheets (2) и т.д.
Кроме того, существует коллекция с названием Sheets , состоящая из всех листов рабочей книги, рабочих листов и листов диаграмм. Если Лист1 — первый лист в книге, то на него можно сослаться так:
Sheets (1)