本示例使用 Add 方法将 Inst 对象(类 Class1 之示例,其中包含 Public 变量 InstanceName )加到 MyClasses 集合对象中。若要观察程序的运作,插入一个类模块,并在 Class1 的模块级中声明公用变量 InstanceName(键入 Public InstanceName)来保存每个示例的名称。类名就用缺省的 Class1。将下列代码复制与粘贴到某个窗体模块的 Form_Load 事件过程中。
Dim MyClasses As New Collection ' 建立集合对象。
Dim Num As Integer ' 定义计数变量。
Dim Msg
Dim TheName ' 用来保存用户指定的名称的变量。
Do
Dim Inst As New Class1 ' 建立 Class1 的新示例。
Num = Num + 1 ' 将计数变量加一,并让用户输入名称。
Msg = "Please enter a name for this object." & Chr(13) _
& "Press Cancel to see names in collection."
TheName = InputBox(Msg, "Name the Collection Items")
Inst.InstanceName = TheName ' 将输入的名称存到对象的示例中。
' 如果名称不是空字符串,则将该示例加到集合对象中。
If Inst.InstanceName <> "" Then
' 将该示例加到集合对象中。
MyClasses.Add item := Inst, key := CStr(Num)
End If
' 清除对当前示例的引用,以准备下一个。
Set Inst = Nothing
Loop Until TheName = ""
For Each x In MyClasses
MsgBox x.instancename, , "Instance Name"
Next