Excel对象模型

Excel界面元素如工作簿、工作表、单元格区域等抽象成对象并组合而成的层次体系称为Excel对象模型。有了Excel对象模型,Excel VBA语言或Python语言等可以面向这些对象编程,实现对Excel的控制和交互。比如可以通过编程在Excel工作表中打开数据文件或直接输入数据,进行数据处理后可以将结果以数据或图表的方式写入工作表并保存。

对象及相关概念

现实世界里面的花草树木、猫猫狗狗等都是对象,称为现实世界里面的对象。用计算机语言来描述一个事情的时候,首先将事情有关的对象抽取出来,比如猫爬树,就要抽取出猫和树两个对象。

对象抽取出来以后,用计算机语言编写的代码进行描述。它们静态的特征或性质等描述为属性,动态的特征即行为描述为方法。比如用代码描述小猫时,它有年龄、大小、颜色和品种等属性,有跑、跳、爬、吃等方法。另外还有事件,事件是外部作用在对象上时对象作出的响应,比如拍打小猫,它可能会咬你。

所有这些描述对象的代码的集合,称为类。类就像一个模板,有了它以后就可以创建类的实例。就好比印钞票的母版,有它以后可以源源不断地印出钞票,这些钞票,就是母版的实例。实例也称为对象,它是现实世界中真实对象基于类代码的的模拟、仿真和简化。所以,就是要用这些简化后的代码描述的对象代替现实世界的对象来讨论问题。

对象的属性和方法等统称为成员,它们是该对象提供给外部的接口,内部的实现细节是封装起来的,使用对象时主要使用这些接口。就像电视机买回来,里面的电路板、晶体管等怎么做出来的有什么用不必管,只要会使用提供给我们的外部端口就行了。

使用对象的成员时使用点引用的方式,比如用cat表示猫对象,它有表示颜色的color属性,有表示跑这个行为的run方法,可以使用下面的方式读取color属性的值,赋给一个新变量new_color:

code.python
new_color=cat.color

将color属性的值设置为1,1表示某种颜色:

code.python
cat.color=1

调用cat对象的run方法:

code.python
cat.run()

Excel对象及其层次结构

为了便于用户进行脚本开发,Excel提供了很多已经封装好的现成的对象,如表示Excel应用的Application对象、表示工作簿的Workbook对象、表示工作表的Worksheet对象和表示单元格区域的Range对象、以及表示图表的Chart对象等。它们分别描述和替代现实世界的办公场景、文件、表单和表单中的单元格区域,以及真实绘制的图表等。有这些对象以后,可以用Python通过编程来控制它们。

图4-1所示的Excel对象模型包含了Application对象、Workbook对象、Worksheet对象和Range对象等4大对象,它们从上到下有从属和包含的关系,要设置下一层级的对象,必须先获取上一层级的对象。Workbooks是一个集合,包含当前Excel应用中的所有工作簿对象,Worksheets集合则包含当前工作簿中的所有工作表对象。

Document Image

图4-1 Excel对象模型