Collection.Add 
add 方法的参数是:Item,[Key],[Before],[After]请问,后面的两个参数到底该怎么用?
[Before],[After]

解决方案 »

  1.   

    看MSDN帮助,描述已经很详细了
    __________________________________________
     
    Add 方法
             添加一个成员到 Collection 对象。语法object.Add item, key, before, afterAdd 方法的语法具有下列对象限定符和命名参数:部分 描述 
    object 必需的。对象表达式,其值为“应用于”列表中的对象。 
    item 必需的。任意类型的表达式,指定要添加到集合中的成员。 
    key 可选的。唯一字符串表达式,指定可以使用的键字符串,代替位置索引来访问集合中的成员。 
    before 可选的。表达式,指定集合中的相对位置。在集合中将添加的成员放置在 before 参数识别的成员之前。如果为一数值表达式,则 before 必须是介于 1 和集合 Count 属性值之间的值。如果为一字符串表达式,则当添加一个被引用的成员到集合时,before 必须对应于指定的 key 值。可以指定 before 位置或 after 位置,但不能同时指定这两个位置。 
    after 可选。表达式,指定集合中的相对位置。在集合中将添加的成员放置在 After 参数识别的成员之后。如果为一数值表达式,则 after 必须是介于 1 和集合 Count 属性值之间的值;如果为一字符串表达式,则当添加一个被引用的成员到集合时,after 必须对应于指定的 key 值。可以指定 before 位置或 after 位置,但不能同时指定这两个位置。 
    说明before 或 after 参数是字符串表达式或数值表达式,均须引用集合中现有成员,否则将导致错误发生。如果指定的 key 和集合中现有成员的 key 发生重复,则也会导致错误发生。
      

  2.   

    使用 before 和 after 命名的参数管理有序的对象集合。例如,before:=1 将在集合的开始插入一项,因为集合对象是基于 1 的。
      

  3.   

    你可以如下试试,就明白了:
    Private Sub Command1_Click()
        Dim col As Collection
        Dim i As Integer    Set col = New Collection
        For i = 1 To 10
            col.Add i
            Debug.Print col.Item(i)
        Next i
        
        col.Add 0, , 1
        col.Add 30, , , col.Count
        
        For i = 1 To col.Count
            Debug.Print col.Item(i)
        Next i
    End Sub