(VBA) 添加方法

成员 添加到 Collection 对象。

语法

对象之前之后添加

“添加”方法语法包含以下对象限定符和命名参数

Part 说明
object 必填。 一个 对象表达式 ,该表达式的计算结果为“ 应用于 ”列表中的对象。
必填。 指定要添加到集合的成员的任何类型的表达式
key 可选。 指定可用于替代位置索引访问集合的成员的唯一字符串表达式
之前 可选。 指定集合中的相对位置的表达式。 要添加的成员放置在集合中之前由 before参数标识的成员。 如果是 数值表达式则 before 必须是从 1 到集合的 Count 属性值的数字。 如果是字符串表达式,则之前 必须对应于引用的成员添加到集合时指定的。 可指定之前 位置或之后 位置,但不可同时指定二者。
可选。 指定集合中的相对位置的表达式。 要添加到集合中的成员在由之后 参数识别之后放置在集合中。 如果为 numeric, 则 after 必须是从 1 到集合的 Count 属性值的数字。 如果是字符串,则之后 必须对应于引用的成员添加到集合时指定的。 可指定之前 位置或之后 位置,但不可同时指定二者。

备注

不论之前之后参数是字符串表达式还是数值表达式,都必须引用集合的现有成员,否则将发送错误。

指定与集合现有成员的重复时也将发生错误。

示例

此示例使用 Add 方法将名为 的类的对象 (实例添加到Inst名为 Class1MyClasses的集合中,该类包含公共变量InstanceName) 。 若要查看其工作原理,请插入一个类模块,并在 (类型的Public InstanceName模块级别Class1声明一个名为 InstanceName 的公共变量,) 以保存每个实例的名称。 将默认名称保留为 Class1。 将以下代码复制并粘贴到 Form_Load 窗体模块的事件过程中。

Dim MyClasses As New Collection    ' Create a Collection object.
Dim Num As Integer    ' Counter for individualizing keys.
Dim Msg
Dim TheName    ' Holder for names user enters.
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." & Chr(13) _
     & "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 x In MyClasses
    MsgBox x.instancename, , "Instance Name"
Next

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。