Коллекции VBA позволяют работать с пользовательскими объектами как с группой. Например, если существует пять объектов cUser и необходимо выполнить действие над каждым из них, проще и намного эффективнее обрабатывать пять объектов как группу, а не как отдельные объекты.
Вероятно, разработчик уже знаком со встроенными коллекциями, такими как коллекции форм и элементов управления. Кроме того, VBA содержит объект коллекции. Коллекция — это способ обращения с группой объектов как с одним элементом. В повседневной жизни люди постоянно имеют дело с коллекциями. Дирижер оркестра может сказать: "Все исполнители, играющие на духовых инструментах, встаньте". Это гораздо удобнее и эффективное, чем перечислять: "Мэри, Джим, Джон, Джо, Салли, встаньте". Точно так же можно работать с объектами, составляющими один элемент или коллекцию.
Основная концепция этого подхода заключается в том, что коллекция представляет собой объект со своими собственными свойствами и методами. Коллекция обладает следующими характеристиками:
• Имеет свойства и методы.
• Может быть расширена за счет добавления различных типов объектов.
• Величина коллекции является переменной, а это значит, что коллекция может расширяться и сокращаться при добавлении и удалении элементов.
•. Элементы в выделенной области не могут быть отсортированы.
• Элементы множества являются индексированными (отсчет начинается с цифры "1").
Создание коллекции VBA
Поскольку коллекции представляют собой объекты, коллекции создаются тем же способом, что и объекты. Во-первых, необходимо объявить объектную переменную для использования в качестве ссылки на коллекцию. Во-вторых, нужно воспользоваться ключевым словом Set для создания ссылки из объектной переменной на коллекцию. Следующий код создает коллекцию пользователей:
Dim Users as Collection
Set Users = New Collection
СОВЕТ
Полезно присваивать коллекции имя, представляющее собой множественное число от имен объектов, содержащихся в данной коллекции. В данном примере в коллекцию добавляется объект User. Таким образом, коллекции следу-вд. ет присвоить имя Users.
Свойства и методы коллекции VBA
Объект коллекции имеет очень простую структуру и содержит только одно свойствои три метода, как показано в табл. 1.
Таблица 1. Свойства и методы объекта множества.
Имя | Тип | Описание |
Count | Свойство | Указывает, сколько элементов содержится в коллекции. |
Add | Метод | Используется для добавления элементов в коллекцию. |
Remove | Метод | Используется для удаления элементов из коллекции. |
Item | Метод | Используется для ссылки на элементы в коллекции. Данный метод действует по умолчанию. |