41讲 初识对象
1 面向对象的三个基本特性是:封装,继承与多态
2 VBA并不是面向对象的编程语言,并不能支持面向对象的三个特性,严格的说VBA属于基于对象的语言,可以使用封装好的对象,VBA可以解决Excel的问题就是基于此。
需要的时候VBA可以自己封装类并构建对象。
3 在对象的描述中,通常又把两大类不同的内容分别描述为对象的属性和方法。
所谓属性,基本上是属于对象拥有的固有的静态的,描述性的性质。往往是用名词或形容词来进行描述的。
所谓方法,基本上是对象的可能的一些动作性的描述,往往是动词。
'在VBA中对象的属性与方法的表示
'person.name 描述名称的属性
'person.eat 描述吃的方法
'通过 对象.属性(方法)
excel对象层次:
Application(Excel本身)对象.
WorkBook(工作簿文件)对象
WorkSheet(工作表)对象
Range(单元格)对象
'Object 对象:一切对象的祖宗,理解成对象类型的变体型
Object对象的特点是可以装所有的对象类型,
42讲 单元格对象1
1 单元格对象的数据类型表示是Range
2 对于对象变量的赋值,需要使用Set变量名=对象实体这样的方式
Set r = range(“A1:H5”)这是把A1:H5这片单元格区域作为一个对象赋值给r
单元格对象的默认属性(值属性)
单元格的值属性r.value这个value 是可以省略的, value(值)属性是单元格对象的默认属性
Sub 单元格对象()
Dim rng As Range '这个Range 是单元格对象的数据类型
Set rng = Range("a1:h5") '是具体表述单元格对象实体的语句
' rng = "我爱北京天安门" '这句话是正确的
'表示多个不连续的单元格区域
Set rng = Range("a1,c2,d5") '这种方式表示分开的不连续的单元格区域
rng = 0
rng.Select
End Sub
单元格对象是工作表的一部分,有具体的在工作表上的位置。表示单元格对象有多种
Range(“单元格区域地址”)这是最接近工作表函数和常规Excel单元格表示的方式
这里的Range可并不是指单元格对象的数据类型,而是一种单元格对象的表示方式
这种方法即可以表示一个单元格也同样适用于多个连续单元格
Range(单元格对象1,单元格对象2)—这种方法表示以单元格对象1为左上起点,单元格对象2为右下终点的单元格连续区域。(重点掌握)
'Range 单元格的对角线表示法
'Range(左上起始单元格对象,右下终止单元格对象) 对角线的矩形单元格区域
Sub 单元格对象的矩形表示()
' Dim r1 As Range, r2 As Range, r3 As Range
' Set r1 = Range("a1")
' Set r2 = Range("d5")
' Set r3 = Range(r1, r2)
' r3.Select
Range(Range("a1"), Range("d5")).Select
End Sub
这种表示方法比较直观,而且灵活即可以表示单个单元格区域,也可以表示多个单元格区域。甚至支持多单元格区域的不连续区域。但是这种方式在遍历单元格的时候比较麻烦,因为无法直观的把行列体现为数字,向列方面进行循环访问时不方便。