VBA进阶 | 集合详解1:什么是集合

VBA进阶 | 集合详解1:什么是集合

集合

是一组元素的集,可用来存储对象和数据。

VBA

提供了集合对象,是标准

VBA

库的一部分。

 

在创建集合对象后,可以在集合中存储任意类型的数据,可以在同一集合中存储不同类型的数据。因此,集合中的元素可以是字符串、数字、日期、数组、对象、类的实例,等等,甚至可以嵌套另一个集合,可以是每种数据类型的组合,并且可以使用索引值或者唯一的键来检索集合中的元素。

 

集合对象有

4

种基本属性

/

方法:

  • Add

  • Count

  • Item

  • Remove

  •  

    使用这些方法

    /

    属性可以实现对集合的操作,包括写入、读取、修改、替换、删除,等等。

     

    其中,

    Add

    方法在集合中添加元素;

    Count

    属性返回集合中元素的数量;

    Item

    方法通过参数指定的索引值或键从集合中返回对象,集合中的第

    1

    个元素存储在第

    1

    个位置,即序数为

    1

    Remove

    方法删除集合中的元素。

     

    Excel

    在内存中存储集合,因此可以非常快速地对集合进行操作。

     

    Excel

    对象模型中的集合

     

    通常,在

    Excel

    对象模型中,大多数对象都有相关联的集合对象,很多情形下对象的复数形式表示该类相关对象的集合。例如,

    Workbooks

    集合是当前打开的所有

    Workbook

    对象的集合,

    Worksheets

    集合是某

    Workbook

    对象中所有

    Worksheet

    对象的集合。

     

    可以处理对象所属的整个集合或者对象集合中的某个对象。如果在集合名称后面的括号中放置该对象的名称或索引号,则可以引用该对象,例如:

    Worksheets(“MySheet”)

    引用名为

    MySheet

    的工作表。

    如果工作表

    MySheet

    是集合中的第

    2

    个工作表,可以使用下面的语句来引用:

    Worksheets(2)

     

    Excel

    对象模型的层次结构中,上层的对象会包含下层对象的集合,如下图

    1

    所示。

    VBA进阶 | 集合详解1:什么是集合

    1

     

    可以看出,集合本身也是对象,该对象包含其他紧密相关的对象。

     

    除上文中集合的基本属性

    /

    方法外,对象模型中的集合还具有下面的通用属性:

  • Application

  • Creator

  • Parent

  •  

    其中,

    Application

    属性返回当前对象所在的应用程序,

    Creator

    属性返回一个描述是否在应用程序中创建了该对象的长整型数值,

    Parent

    属性返回该集合对象的上层对象。

    VBA进阶 | 集合详解1:什么是集合