Использование объектов с коллекциями VBA

 

Коллекции VBA позволяют работать с пользовательски­ми объектами как с группой. Например, если существует пять объектовcUser и необходимо выполнить действие над каждым из них, проще и намного эффективнее обрабаты­вать пять объектов как группу, а не как отдельные объек­ты.

Вероятно, разработчик уже знаком со встроенными коллекциями, такими как коллекции форм и элементов управления. Кроме того, VBA содержит объект коллекции. Коллекция — это способ обращения с группой объектов как с одним элементом. В повседневной жизни люди постоянно имеют дело с кол­лекциями. Дирижер оркестра может сказать: "Все исполнители, играющие на духовых инструментах, встань­те". Это гораздо удобнее и эффективное, чем перечислять: "Мэри, Джим, Джон, Джо, Салли, встаньте". Точно так же можно работать с объектами, составляющими один элемент или коллекцию.

Основная концепция этого подхода заключается в том, что коллекция представляет собой объект со своими собственными свойствами и методами. Коллекция обладает следующими характеристиками:

• Имеет свойства и методы.

• Может быть расширена за счет добавления различных типов объектов.

• Величина коллекции является переменной, а это значит, что коллекция может расширяться и со­кращаться при добавлении и удалении элементов.

• . Элементы в выделенной областине могут быть отсортированы.

• Элементы множества являются индексированными (отсчет начинается с цифры "1").

Создание коллекции VBA

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

Dim Users as Collection

Set Users = New Collection

СОВЕТ

Полезно присваивать коллекции имя, представляющее собой множественное число от имен объектов, содержащих­ся в данной коллекции. В данном примере в коллекцию добавляется объектUser. Таким образом, коллекции следу-вд. ет присвоить имяUsers.

Свойства и методы коллекции VBA

Объект коллекции имеет очень простую структуру и содержит только одно свойствои три метода, как показано в табл. 1.

Таблица 1. Свойства и методы объекта множества.

Имя Тип Описание
Count Свойство Указывает, сколько элементов содержится в коллекции.
Add Метод Используется для добавления элементов в коллекцию.
Remove Метод Используется для удаления элементов из коллекции.
Item Метод Используется для ссылки на элементы в коллекции. Данный метод действует по умолчанию.