下午,我们按约好的时间去足球场踢球。这里,足球就是我们要操作的对象,我们要踢足球,前提是先要找到一个能够踢的足球。
同样,在Excel中,我们通过使用VBA来操控Excel对象,从而实现对Excel的全面控制以及在Excel界面中获得想要的结果。然而,我们最先要做的事情是找到那个要操控的Excel对象。这些对象就像我们前面提到的足球一样,有其特定的名称和表示方式。
下面,我们就来认识Excel的一些常用对象,知道怎么样表示它们,这是进入Excel VBA编程大门的基础。
接下来的内容我们将依次简单地认识Excel的下列常用对象:
Application对象
Workbook对象
Window对象
Worksheet对象
Range对象
Comment对象
Chart对象
返回常用对象的一些属性:ThisWorkbook属性、ActiveWorkbook属性、ActiveWindow属性、ActiveSheet属性、Selection属性、ActiveCell属性、Cells属性、Rows属性、ActiveChart属性
Application对象
顾名思义,Application对象即代表应用程序本身。在Excel中,Application对象就代表Excel应用程序。它是Excel对象模型的根,所有的Excel对象都是从它这里开始逐层扩展,开枝散叶。
Workbook对象
Workbook对象代表工作簿,所有Workbook对象组成Workbooks集合。换句话说,单个的Workbook对象是Workbooks集合中的一个成员。我们可以在Workbooks集合中指定工作簿的名称来表示要处理的工作簿,如下所示。例如,如果我们要在名为“工作簿1”的工作簿中执行操作,那么在代码中就使用:
Workbooks(“工作簿1.xlsm”)
来代表该工作簿。也可以使用索引号来引用相应的工作簿,此时就需要知道该工作簿在Workbooks集合中的索引号,如果工作簿1的索引为1,那么在代码中可以使用:
Workbooks(1)
来代表该工作簿。
ThisWorkbook属性
我们总会在VBE的工程资源管理器中看到“ThisWorkbook对象模块”,如下所示,它代表当前工作簿。Application对象的ThisWorkbook属性与其名称相同,使用该属性可以获取包含正在运行的代码的工作簿对象。
ActiveWorkbook属性
ActiveWorkbook属性也属于Application对象。使用该属性可以获取当前工作簿对象。
Window对象
Window对象代表窗口。如下所示,打开两个工作簿,分别为:工作簿1和工作簿2,每个工作簿都是一个窗口,所有窗口对象组成Windows集合。我们可以在Windows集合中指定窗口名称来表示要处理的窗口。例如,如果我们要在工作簿1所在的窗口中执行操作,那么可以在代码中使用:
Windows(“工作簿1.xlsm”)
来代表工作簿1。同理,在代码中使用:
Windows(“工作簿2.xlsm”)
来代表工作簿2。
当然,也可以使用代表窗口的索引号来引用相应的工作簿。例如,如果工作簿1所在的窗口索引号为1,那么可以使用代码:
Windows(1)
来代表工作簿1。
说明:当前活动窗口始终是Windows(1)。
探讨:在单个的工作簿中,也存在Windows集合,但这似乎对于Excel 2013版来说已不重要了?
ActiveWindow属性
ActiveWindow属性属于Application对象。使用该属性可以获取当前活动窗口。
小结
观察前面代表Workbook对象和Window对象的代码表示,可以看出有两种方式:
(1)在集合中使用名称来表示具体的对象。
(2)在集合中使用索引来表示具体的对象。
我们将其归纳为通用的表达式:
说明:文中所说的“当前工作簿”、“当前活动工作簿”、“当前窗口”、“当前活动窗口”等,表示正在使用中的工作簿、正在使用中的窗口,或者是处于最上面的工作簿或窗口。