[转帖]Office 编程技术——理解对象模型-郑家龙
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


[转帖]Office 编程技术——理解对象模型

发表时间:2009/2/17 8:19:14 评论(1) 浏览(9346)  评论 | 加入收藏 | 复制
   
摘 要:[转帖]Office 编程技术——理解对象模型
正 文:
Office 编程技术——理解对象模型

微软公司供稿

对象是Microsoft Office 97应用程序的基本构成组块;几乎你在Visual
Basic中所作的每一件事情都包括了对对象的操作。在Office中,每个内
容和功能单元,——每个工作簿(Workbook),工作表(worksheet),
文档(Document),文本范围,幻灯等等——它们都是对象,你可以在
Visual Basic中进行可编程地控制。当你理解了对象是如何工作之后,
你就会准备在Office中进行自动的工作了。

对象模型概览


在你通过编程对应用程序中的内容和功能进行访问之前,很重要的一点就
是需要了解应用程序中的内容和功能是如何被分割成分离的对象的,以及
这些对象是如何被组织安排在一个继承的模型里的。

什么是对象和对象模型

一个应用程序包含两件事情:内容和功能。内容依赖于应用程序所包含的
文档,以及包括在文档中的字词,数字,或是图形;它还依赖于有关应用
程序中的独立要素的属性信息,例如说窗口的大小,图形的颜色,或是一
个字词的字体大小等等。功能依赖于你使用应用程序中的内容来进行工作
的所有方法——例如,打开,关闭,添加,删除,拷贝,粘贴,编辑,或
是格式化应用程序中的要素。

应用程序中的内容和功能被分割为有关联的内容和功能的不连续的单元,
叫做对象(Object)。你已经对一些这样的对象非常熟悉了,例如说一
些用户界面的要素: Microsoft Excel工作簿,工作表,以及表格表元范
围;Word的文档和小节;以及PowerPoint的介绍和幻灯片等等。

在一个应用程序中,最高级别的对象通常是Application对象,它就是应
用程序本身。例如,在Microsoft Excel对象模型中的Application对象就
是Microsoft Excel本身。在Application对象中包含了一些其它的对象,
这些对象只有在Application对象存在的时候(也就是说,当应用程序运行
的时候)你才可以访问到它们。例如,Microsoft Excel的Application对
象包含了Workbook对象,而Word的Application对象中则包含了Document
对象。因为此Document对象的存在依赖于Word的Application对象的存
在,所以此Document对象被称之为Application对象的子对象(child),
反过来,此Application对象被称之为Document对象的父对象(parent)。


许多子对象又有它们自己的子对象。例如,在Microsoft Excel里,Workbook
对象包含了Worksheet对象,或者说,它是Worksheet对象的父对象,
Worksheet对象表示在Workbook对象中的所有的工作单。一个父对象可以拥有
多个子对象;例如,Word的Windows对象拥有Panes,Selection,以及
Object等子对象。同样,一个子对象也可以拥有多个父对象;例如,Word的
Windows集合对象同时是Application对象和Document对象两者的子对象。

对象组成应用程序的方法彼此之间按照它们被分开的内容的功能又
相互联系起来,这叫做对象的分层结构(Object hierarchy)或是
对象的模型(Object model)。

注意:如果你在安装Microsoft Office的过程中单击了“典型安装(Typical)
”,你将需要重新安装以将你所想要的了解的应用程序的Visual Basic for
Application相应的帮助安装进去。

另外为包含低级别的对象,在对象分层结构中的每个对象,它所包含的内容
和功能都能够提供给该对象本身,以及在对象分层结构中处于该对象之下的
那些对象。在对象分层结构中的级别越高,则它的内容和功能的覆盖范围也
就宽。例如,在Microsoft Excel中,Application对象中包含了应用程序
窗口的大小已经退出此应用程序的功能;Workbook对象中包含了文件名称
和工作簿的格式,以及存储此工作簿的功能;在而Worksheet对象中则包含
了工作表的名称以及删除此工作表的功能。

你通常并不能接触到你对文件的内容(例如在Microsoft Excel工作表中的数
值,或是在一个Word文档中的文本)所想的事情,除非你已经在对象的分层
结构中相当多的级别里进行了移动,这是因为这些特殊的信息从属于应用程
序中非常特殊的部分。换句话说,在一个工作表中的表元里面的值仅仅值提
供给那个表元,而不是工作表里的所有的表元,所以你不能在Worksheet对
象中直接存储它。存储在一个对象中的内容和功能同该对象的范围都有这样
本质的联系。

总的说来,一个应用程序中的内容和功能被围绕着该应用程序的对象模型中
的对象进行了分割。在对象分层结构中的对象联合起来又包含了应用程序中
的所有内容和功能。对象们分别提供了对这些内容和功能中非常特殊的区域
的访问。

什么是属性和方法?

要接触包含在一个对象中的内容和功能,你需要使用此对象的属性和方法。
下面的Microsoft Excel例子使用了在Range对象中的Value属性来设置一个
名称为“Current.xls”的工作簿中的“Sales”工作表的B3表元的值。

Workbooks("Current.xls").Worksheets("Sales").Range("B3").Value = 3

在下面的例子里使用了Font对象中的Bold属性来将“Sales”工作表中的
B3表元设置为加粗格式。

Workbooks("Current.xls").Worksheets("Sales").Range

Access软件网交流QQ群(群号:198465573)
 
 相关文章
使用 access 2003 对象模型的 XML 功能  【竹笛  2004/12/16】
组件对象模型(COM)与OLE  【UMVsoft整理  2008/3/5】
FSO对象模型  【fan0217  2008/9/3】
ADO 对象模型  【lyxiong  2011/12/28】
Office2003相比的Office2010/Access201...  【宏鹏  2012/11/9】
常见问答
技术分类
相关资源
文章搜索
关于作者

郑家龙

文章分类

文章存档

友情链接