对象变量是区别于数据变量而言的,之前我们所讨论的整型变量、字符型变量、布尔型变量等等都是用来存放数据的,它们是数据变量,而对象变量是用于存储对象的变量。在VBA中,对象指的是工作簿、工作表、单元格、图表等。常用的对象及名称见表2-8。
表2-8 VBA中的常见对象
声明对象变量和声明数据变量的语法是一致的,只是类型不同,对象变量的初值为nothing。比如,我们可以使用语句dim r as range,这条语句声明了一个名称为r的变量,它的类型是range。数据变量中,我们可以使用variant变体型变量存储各种类型的数据;在对象变量中,我们可以使用object对象类型存储各种对象类型。
Application对象代表了当前正在运行的Excel应用程序,它是对象层级的最高层,其他对象都是该对象的子对象。设置Application对象的属性将影响整个Excel应用程序。
WorkBook工作簿对象代表一个Excel文件,workbooks是workbook对象的集合,使用Application对象的workbooks属性可以访问当前打开的所有工作簿对象。
Worksheet对象代表excel工作簿中包含的工作表。通过它,我们可以在程序中完成各种对工作表的操作,如worksheet(2)代表第二个工作表对象。Worksheets是worksheet对象的集合。
Range对象是一单元格区域,它可以是一个单元格、某一行、某一列或任意指定单元格区域,我们可以指定单元格的坐标来访问具体某个单元格,如range(“A1”)引用A1单元格。