Чтобы добавить элементы в коллекцию, необходимо воспользоваться методом Add объекта коллекции.
Collection.Add Item [, Key][, Before];, After]
Затем нужно передать объектную переменную для каждого объекта, добавленного к множеству. Например, чтобы добавить в коллекцию двух пользователей, следует воспользоваться объектной переменной для каждого пользователя: objUser1 и objUserZ. Следующий параметр — значение Key (удобочитаемое имя), использующееся для ссылки на объект. Если ключевое значение не указано, ссылка на каждый пункт в коллекции осуществляется по номеру индекса.
СОВЕТ
Настоятельно рекомендуется указывать ключевое значение. Ключевые значения упрощают написание кода и более,j надежны, чем номера индекса. Номера индекса могут измениться при удалении элементов из коллекции или при '3 вставке в указанные места коллекции с помощью параметров метода Add.
В приведенном ниже примере в коллекцию Users будут добавлены два пользователя:
Dim User1 as cUser
Dim User2 as cUser
Dim Users as Collection
Set User1 = New cUser
|
|
Set User2 = New cUser
Set Users = New Collection
User1.Name = "James"
User2.Name = "Steve"
Users.Add User1, User1.Name
Users.Add User2, User2.Name
Set User1 = Nothing
Set User2 = Nothing
Set Users = Nothing
Данный код добавляет в коллекцию объект User1. С помощью свойства Name объекта указано ключевое значение. Точно так же добавляется объект User2.
Обратите внимание, что метод Add коллекции содержит аргументы "до" и "после" для определения порядка объектов в коллекции.
Ссылка на специфический объект
К объектам в коллекции можно обращаться либо по номеру, либо по ключевому значению. При ссылке на элементы в коллекции по номеру необходимо помнить, что все элементы индексированы, а это означает, что отсчет начинается с 1. Проще обращаться к объекту в коллекции по ключевому значению. Приведенный ниже код иллюстрирует ссылку на специфический объект User2 с помощью обоих методов. Хотя указывать метод Item не обязательно (он действует по умолчанию), явное обращение способствует повышению восприимчивости кода.
' Обращение к объекту в коллекции по номеру индекса.
MsgBox Users.Item(2).Type
' Обращение к объекту в коллекции по ключевому значении.
MsgBox Users.Item("Steve").Type