Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Объект Collection — это упорядоченный набор элементов, который может называться блоком.
Замечания
Объект Collection предоставляет удобный способ ссылки на связанную группу элементов как на один объект. Элементы или элементы в коллекции должны быть только связаны тем фактом, что они входят в коллекцию. Элементы коллекции могут иметь разные типы данных.
Коллекция может создаваться таким же способом, как и другие объекты. Например:
Dim X As New Collection
После создания коллекции члены могут быть добавлены с помощью метода Add и удалены с помощью метода Remove . Определенные элементы можно вернуть из коллекции с помощью метода Item , а всю коллекцию можно выполнить итерацию с помощью параметра For Each... Следующая инструкция.
Пример
В этом примере создается объект Collection (MyClasses), а затем создается диалоговое окно, в котором пользователи могут добавлять объекты в коллекцию.
Чтобы узнать, как это работает, выберите команду Class Module в меню Вставка и объявите общедоступную переменную с именем InstanceName на уровне модуля Class1 (тип PublicInstanceName) для хранения имен каждого экземпляра. Оставьте Class1 в качестве имени по умолчанию. Скопируйте и вставьте следующий код в раздел Общие другого модуля, а затем запустите его с оператора ClassNamer в другой процедуре.
(Этот пример работает только с ведущими приложениями, которые поддерживают классы.)
Sub ClassNamer()
Dim MyClasses As New Collection ' Create a Collection object.
Dim Num ' Counter for individualizing keys.
Dim Msg As String ' Variable to hold prompt string.
Dim TheName, MyObject, NameList ' Variants to hold information.
Do
Dim Inst As New Class1 ' Create a new instance of Class1.
Num = Num + 1 ' Increment Num, then get a name.
Msg = "Please enter a name for this object." & vbNewLine _
& "Press Cancel to see names in collection."
TheName = InputBox(Msg, "Name the Collection Items")
Inst.InstanceName = TheName ' Put name in object instance.
' If user entered name, add it to the collection.
If Inst.InstanceName <> "" Then
' Add the named object to the collection.
MyClasses.Add item := Inst, key := CStr(Num)
End If
' Clear the current reference in preparation for next one.
Set Inst = Nothing
Loop Until TheName = ""
For Each MyObject In MyClasses ' Create list of names.
NameList = NameList & MyObject.InstanceName & vbNewLine
Next MyObject
' Display the list of names in a message box.
MsgBox NameList, , "Instance Names In MyClasses Collection"
For Num = 1 To MyClasses.Count ' Remove name from the collection.
MyClasses.Remove 1 ' Since collections are reindexed automatically, remove the first member on each iteration.
Next
End Sub
См. также
- Свойство Count
- Объекты (Visual Basic для приложений)
- Справочник по библиотеке объектов для Office (элементы, свойства, методы)
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.