资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
对象是Microsoft Office 97应用程序的基本构成组块;几乎你在VisualBasic中所作的每一件事情都包括了对对象的操作。在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 forApplication相应的帮助安装进去。另外为包含低级别的对象,在对象分层结构中的每个对象,它所包含的内容和功能都能够提供给该对象本身,以及在对象分层结构中处于该对象之下的那些对象。在对象分层结构中的级别越高,则它的内容和功能的覆盖范围也就宽。例如,在 Microsoft Excel 中, Application 对象中包含了应用程序窗口的大小已经退出此应用程序的功能; Workbook 对象中包含了文件名称和工作簿的格式,以及存储此工作簿的功能;在而 Worksheet 对象中则包含了工作表的名称以及删除此工作表的功能。你通常并不能接触到你对文件的内容(例如在 Microsoft Excel工作表中的数值,或是在一个 Word 文档中的文本)所想的事情,除非你已经在对象的分层结构中相当多的级别里进行了移动,这是因为这些特殊的信息从属于应用程序中非常特殊的部分。换句话说,在一个工作表中的表元里面的值仅仅值提供给那个表元,而不是工作表里的所有的表元,所以你不能在 Worksheet 对象中直接存储它。存储在一个对象中的内容和功能同该对象的范围都有这样本质的联系。总的说来,一个应用程序中的内容和功能被围绕着该应用程序的对象模型中的对象进行了分割。在对象分层结构中的对象联合起来又包含了应用程序中的所有内容和功能。对象们分别提供了对这些内容和功能中非常特殊的区域的访问。什么是属性和方法?要接触包含在一个对象中的内容和功能,你需要使用此对象的属性和方法。下面的Microsoft Excel 例子使用了在 Range对象中的 Value属性来设置一个名称为“ Current.xls ”的工作簿中的“ Sales ”工作表的 B3 表元的值。Workbook s(Current.xls).Worksheets(Sales).Range(B3).Value = 3在下面的例子里使用了 Font 对象中的 Bold 属性来将“ Sales”工作表中的B3表元设置为加粗格式。Workbook s(Current.xls).Worksheets(Sales).Range(B3).Font.Bold= True在下面的 Word 例子里使用了 Document 对象中的 Close 方法来关闭名称为“Draft 3.doc”的文件。Documents(Draft 3.doc).Close通常,你使用属性来接触内容,这些内容可以包括包含在一个对象中的文本,或是针对此对象的属性设置;而你可以使用方法来接触功能,这些功能使你可以对内容做你所希望的每一件事情。然而,需要小心,在属性和方法之间的区别并不总是这样,在每个对象模型中都有相当数量的属性和方法,它们都违反了这个规则。对象模型是如何同用户的界面相联系的?一个应用程序对象之间的相互影响有两种方法可以实现:人工的(使用用户接口)或是程序自动进行的(使用编程语言)。在用户接口中,你可以使用键盘或是鼠标,或是两者全上,来浏览应用程序中能够控制你所要改变的数据或是使用希望使用的命令的那一部分。例如,在 Microsoft Excel中,在一个名为“Current.xls ”的工作簿中的一个名为“Sales ”的工作表中的B3表元里输入一个数值,你单击tab来到达Sales工作表上,你在单击进入表元B3,然后你可以输入一个数值。用 Visual Basic 的语言来说,你在对象的分层结构中从最高级别的对象移动到那个包含了你希望用来工作的内容和功能的对象上,并且你使用了那个对象的属性和方法来接触到此内容和功能。例如,下面的 Microsoft Excel 例子移动到了一个名为“Current.xls ”的工作簿中的一个名为“ Sales”的工作表中的B3表元,并设置此表元的内容。Workbooks(Current.xls).Worksheets(Sales).Range(B3).Value = 3因为用户接口和 Visual Basic 是两种能够用来访问完全相同的内容和功能的方法,许多对象,属性,以及方法,都共享在用户接口中的要素的名称,并且所有的对象模型的结构都同用户接口中的结构相类似。这还意味着对于你通过用户接口所进行的每个行为,都有等效的Visual Basic代码存在。为什么知道一个对象在对象模型中的位置是麻烦的?理解一个对象在对象模型中的位置是非常重要的,因为在你能够使用一个对象进行工作之前,你不得不在对象模型中移动以达到它。这通常意味着你不得不在对象分层结构中从该对象上面的所有对象开始,一步一步地接近并到达它。例如,在Microsoft Excel中,你不能直接就进入到一个工作表的特定表元中去,而不需要首先进入包括了此工作表以及表元的应用程序。下面的例子里在一个叫做“Annual Sales.xls”的工作簿中的“Second Quarter”工作表的B3表元中插入数值3。Application.Workbooks(Annual Sales.xls).WorkSheets(SecondQuarter).Range(B3).Value = 3同样,在下面的Word例子里为在首先被打开的文档的第三自然段中的第二个字设置为加粗格式。Application . Document s(1).Paragraphs(3).Range.Words(2).Bold = True什么是集合对象当你使用Visual Basic的图形帮助来研究你希望进行编程的应用程序的对象模型时,你可能会注意到在图形中有许多的方框,其中包含了两个字通常是同一个对象名称的单数形式和复数形式,例如“Documents (Document)”或是“Workbooks (Workbook)”。在这些情况下,第一个名称(通常是复数形式)表示它是一个集合对象( collection object)的名称。一个集合对象是一个包含了一系列相关对象的对象。你可以使用这些处于一个集合内的所有对象进行工作,把它们当作一个单一的组来使用,而不是分别使用它们。第二个名称(通常是单数形式),被一个括号所包围着,它是在集合中的单个对象的名称。例如,在Word 中,你可以使用Documents集合来工作,将所有在该集合对象中的Document对象作为一个整体来使用。尽管Documents 集合对象和Document对象从它们的根本来说都是对象,它们分别都有它们自己的属性和方法,但是在大多数的对象模型图形中通常都把它们组合为一个整体以减少复杂性。你可以使用一个集合对象来接触在该集合对象中的个别对象,通常使用的是Item属性或方法。在下面的PowerPoint例子中使用了 Presentations 集合对象中的 Item 属性以使名为“ Trade Show”的简报处于活动状态,然后再关闭它。所有其它打开的简报被留下打开。Presentations.Item(Trade Show).Close注意 :对于大多数的集合对象来说, Item 属性或方法是缺省的方法。因此Presentations( Trade Show ).Close 同上面的语句是等效的。你还可以建立一个新的对象并把它添加到一个集合对象中,这通常需要使用该集合对象的 Add 方法。下面的 Word 例子创建了一个基于 Normal模板的文档。Documents.Add通过使用 Count属性,你可以知道
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号