1.1.3 对象和集合
1.对象
Excel VBA中的应用程序是由多个对象构成的,包括工作簿、工作表、工作表上的单元格区域以及图形、图表等。
首先我们要知道,Office对象是VBA程序操控的核心,而90%以上的VBA代码都是在操作对象的,并利用对象的方法来读取或写入对象的属性值。所以我们在学习VBA编程之前,必须要对Office对象有一个全面的认识。在对Excel的对象、属性和方法进行学习之后,才能更好地帮助我们编写一些或简单或复杂的VBA代码,有效地提高学习和工作效率。
图1-10展示了Excel程序中的相关对象的名称,当然这只是Excel中的一部分对象。通过使用本书进行深入的学习,读者自然会了解更多的对象、属性以及集合,从而掌握代码的编写。
对象代表了应用程序中的元素,是我们要用代码操作和控制的实体,包括工作簿、工作表、工作表上的单元格区域、图表、控件、窗体等。为了方便理解,我们举一个例子。比方说一个台灯是对象,那么台灯的颜色就是其属性,而购买台灯这个动作则是一个方法,颜色属性和购买行为都是建立在台灯这个主体对象之上的,没有了主体对象,就无所谓属性和方法了。
对象可以相互包含,就像一个文件里可以包含多个文件夹,而这个文件夹又可以被其他的文件夹包含一样,一个工作簿对象可以包含多个工作表对象,一个工作表对象又可以包含多个单元格(或图表、图形等),这种对象的排列模式称为Excel的对象模型。
图1-10
所谓对象,就是帮助构成应用程序的元素,每个对象模型都包含两种类型的对象:集合对象和独立对象。在Excel VBA中,每个元素都可以被称为独立对象,例如工作表、单元格等。集合对象是由一组独立对象构成的,如“Workbooks”集合即表示所有Excel工作簿。
VBA中的每个对象都包含特性,特性控制着其外观、行为、名称等信息,这种特性即被称为对象的属性。用户可以利用代码或属性窗口对对象的属性进行定义或赋值。
对象属性的语法表示为:
<对象>.<属性>=值
在语法表示中,特别要注意对象与属性之间应由“.”间隔。
例如,通过定义Application对象的Caption属性值,将应用程序的标题行改为“work”,则代码为:
Application.Caption="work"
2.集合
集合是一个包含几个其他对象的对象,是相同类型对象的统称,例如工作簿、汽车等。比如在Excel程序中,Workbooks集合包含在Application对象里,当我们引用某个工作簿的时候,要遵循从大到小的规则依次引用,比如C:\Excel VBA速查宝典\第1章 Excel VAB概述.doc。
很多Excel对象都属于集合,例如在每个Workbook对象中都会有Worksheet集合。Worksheet集合是一个可通过VBA调用的对象。Workbook对象中的每个Worksheet对象都位于Worksheet集合中。
要引用Worksheet集合中的一个Worksheet对象,可以通过它在集合中的位置来引用,比如在包含了一个名为MySheet工作表的工作簿中运行以下两段代码,可以发现运行结果是一样的。
Worksheet(1).Select
Worksheets("MySheet").Select