ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:30.52KB ,
资源ID:7638603      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7638603.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Office编程技术理解对象模型Word格式文档下载.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Office编程技术理解对象模型Word格式文档下载.docx

1、例如, Microsoft Excel 的 Application 对象包含了 Workbook对象,而 Word 的 Application 对象中则包含了Document对象。因为此 Document 对象的存在依赖于 Word 的 Application 对象的存在,所以此 Document对象被称之为 Application 对象的子对象( child),反过来,此Application 对象被称之为 Document对象的父对象( parent)。许多子对象又有它们自己的子对象。例如,在Microsoft Excel 里,Workbook对象包含了 Worksheet 对象,或者说,

2、它是 Worksheet 对象的父对象,Worksheet对象表示在 Workbook对象中的所有的工作单。一个父对象可以拥有多个子对象;例如, Word 的 Windows 对象拥有 Panes , Selection,以及Object 等子对象。同样,一个子对象也可以拥有多个父对象;例如, Word的Windows 集合对象同时是 Application 对象和 Document对象两者的子对象。对象组成应用程序的方法彼此之间按照它们被分开的内容的功能又相互联系起来,这叫做对象的分层结构(Object hierarchy)或是对象的模型(Object model)。注意:如果你在安装Mic

3、rosoft Office的过程中单击了“典型安装(Typical)”,你将需要重新安装以将你所想要的了解的应用程序的 Visual Basic forApplication相应的帮助安装进去。另外为包含低级别的对象,在对象分层结构中的每个对象,它所包含的内容和功能都能够提供给该对象本身,以及在对象分层结构中处于该对象之下的那些对象。在对象分层结构中的级别越高,则它的内容和功能的覆盖范围也就宽。例如,在 Microsoft Excel 中, Application 对象中包含了应用程序窗口的大小已经退出此应用程序的功能; Workbook 对象中包含了文件名称和工作簿的格式,以及存储此工作簿的

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

5、进行了分割。在对象分层结构中的对象联合起来又包含了应用程序中的所有内容和功能。对象们分别提供了对这些内容和功能中非常特殊的区域的访问。什么是属性和方法?要接触包含在一个对象中的内容和功能,你需要使用此对象的属性和方法。下面的Microsoft Excel 例子使用了在 Range对象中的 Value属性来设置一个名称为“ Current.xls ”的工作簿中的“ Sales ”工作表的 B3 表元的值。Workbook s(Current.xls).Worksheets(Sales).Range(B3).Value = 3在下面的例子里使用了 Font 对象中的 Bold 属性来将“ Sale

6、s”工作表中的B3表元设置为加粗格式。).Font.Bold= True在下面的 Word 例子里使用了 Document 对象中的 Close 方法来关闭名称为“Draft 3.doc”的文件。Documents(Draft 3.doc).Close通常,你使用属性来接触内容,这些内容可以包括包含在一个对象中的文本,或是针对此对象的属性设置;而你可以使用方法来接触功能,这些功能使你可以对内容做你所希望的每一件事情。然而,需要小心,在属性和方法之间的区别并不总是这样,在每个对象模型中都有相当数量的属性和方法,它们都违反了这个规则。对象模型是如何同用户的界面相联系的?一个应用程序对象之间的相互影

7、响有两种方法可以实现:人工的(使用用户接口)或是程序自动进行的(使用编程语言)。在用户接口中,你可以使用键盘或是鼠标,或是两者全上,来浏览应用程序中能够控制你所要改变的数据或是使用希望使用的命令的那一部分。例如,在 Microsoft Excel中,在一个名为“Current.xls ”的工作簿中的一个名为“Sales ”的工作表中的B3表元里输入一个数值,你单击tab来到达Sales工作表上,你在单击进入表元B3,然后你可以输入一个数值。用 Visual Basic 的语言来说,你在对象的分层结构中从最高级别的对象移动到那个包含了你希望用来工作的内容和功能的对象上,并且你使用了那个对象的属性

8、和方法来接触到此内容和功能。例如,下面的 Microsoft Excel 例子移动到了一个名为“Current.xls ”的工作簿中的一个名为“ Sales”的工作表中的B3表元,并设置此表元的内容。Workbooks(因为用户接口和 Visual Basic 是两种能够用来访问完全相同的内容和功能的方法,许多对象,属性,以及方法,都共享在用户接口中的要素的名称,并且所有的对象模型的结构都同用户接口中的结构相类似。这还意味着对于你通过用户接口所进行的每个行为,都有等效的Visual Basic代码存在。为什么知道一个对象在对象模型中的位置是麻烦的?理解一个对象在对象模型中的位置是非常重要的,因

9、为在你能够使用一个对象进行工作之前,你不得不在对象模型中移动以达到它。这通常意味着你不得不在对象分层结构中从该对象上面的所有对象开始,一步一步地接近并到达它。例如,在Microsoft Excel中,你不能直接就进入到一个工作表的特定表元中去,而不需要首先进入包括了此工作表以及表元的应用程序。下面的例子里在一个叫做“Annual Sales.xls”的工作簿中的“Second Quarter”工作表的B3表元中插入数值3。Application.Workbooks(Annual Sales.xls).WorkSheets(SecondQuarter).Range(同样,在下面的Word例子里为

10、在首先被打开的文档的第三自然段中的第二个字设置为加粗格式。Application . Document s(1).Paragraphs(3).Range.Words(2).Bold = True什么是集合对象当你使用Visual Basic的图形帮助来研究你希望进行编程的应用程序的对象模型时,你可能会注意到在图形中有许多的方框,其中包含了两个字通常是同一个对象名称的单数形式和复数形式,例如“Documents (Document)”或是“Workbooks (Workbook)”。在这些情况下,第一个名称(通常是复数形式)表示它是一个集合对象( collection object)的名称。一个

11、集合对象是一个包含了一系列相关对象的对象。你可以使用这些处于一个集合内的所有对象进行工作,把它们当作一个单一的组来使用,而不是分别使用它们。第二个名称(通常是单数形式),被一个括号所包围着,它是在集合中的单个对象的名称。例如,在Word 中,你可以使用Documents集合来工作,将所有在该集合对象中的Document对象作为一个整体来使用。尽管Documents 集合对象和Document对象从它们的根本来说都是对象,它们分别都有它们自己的属性和方法,但是在大多数的对象模型图形中通常都把它们组合为一个整体以减少复杂性。你可以使用一个集合对象来接触在该集合对象中的个别对象,通常使用的是Item

12、属性或方法。在下面的PowerPoint例子中使用了 Presentations 集合对象中的 Item 属性以使名为“ Trade Show”的简报处于活动状态,然后再关闭它。所有其它打开的简报被留下打开。Presentations.Item(Trade Show注意 :对于大多数的集合对象来说, Item 属性或方法是缺省的方法。因此Presentations( Trade Show ).Close 同上面的语句是等效的。你还可以建立一个新的对象并把它添加到一个集合对象中,这通常需要使用该集合对象的 Add 方法。下面的 Word 例子创建了一个基于 Normal模板的文档。Documen

13、ts.Add通过使用 Count属性,你可以知道在一个集合对象中到底有多少的对象。下面的Microsoft Excel例子使得如果有超过3个的工作簿被打开的话,将在一个信息对话框中显示出打开的工作簿的数目。If Workbooks.Count 3 Then MsgBox More than 3 Workbooks are open 集合同其它的方法一样都是非常有用的。例如,你可以对一个给定的集合中的所有 对 象进行操作,或是你能够设置或是测试在该集合中的所有对象。要做到这些,你可 以 使用一个 For Each.Next 或 For.Next 结构来循环历遍集合中的所有的对象。 使用对象使工作

14、自动化在Microsoft Office中,要想是工作能够自动进行,你首先需要返回一个包含了你希望进行的内容和功能的对象的引用(reference),然后你位该对象提供属性和方法。返回一个对象的引用在你使用对象做任何事情之前,你需要返回指向该对象的一个引用。要做到这些,你必须构造一个表达式一获得对处于对象模型中的一个对象的访问,然后在使用属性和方法在对象的分层结构中上下移动直到你到达你所要用来工作的那个对象为止。这些你用来返回你的起始的对象以及从一个对象移动到另一个对象的属性和方法被称作对象存取器(object accessors),或者只称作存取器。一旦你使用存取器构造了一个表达式来返回一个

15、对象的引用,你需要把下面的指导牢记在心。 o 一个获得对对象模型访问的通常的地方是此对象的最顶端,它通常就是 Application对象。使用Application属性以返回指向Application 对象的引用。下面的表达式返回了指向Application对象的一个引用 (适用于任何包含了一个Application对象的对象库) Application o 要想从分层结构的最顶端的对象向下到达一个对象,你必须一步一步地通 过所有在分层结构中位于其上的对象,使用存取器从一个对象返回另一个 对象。例如,Word的Application对象的Document属性返回Documents 集合对象,它

16、代表了所有的打开的文档。下面的表达式返回了一个指向 Word的Documents集合对象的引用。 Application.Documents o 你可以使用快捷的存取器以获得对在模型中的对象的直接访问,而不需 要从Application对象一直往下移动。这些快捷包括了存取器例如 Documents,Workbooks,以及Presentations属性你可以使用它们 本身来返回一个指向特定应用程序的文档集合的引用。例如,在Word 里,你可以使用下面的两种语句来打开MyDoc.doc。 Application.Documents.Open FileName:=C:DOCSMYDOC.DOC D

17、ocuments.Open FileName: 还有一些其它的快捷存取器 例如说 ActiveWindow , ActiveDocument,ActiveWorksheet,或是ActiveCell属性 它们可以返回指向一个应用程序活动部分的直接引用。 的语句关闭活动的Word文档。注意 Application对象和Documents 集合对象没有出现。 ActiveDocuments.Close 提示 当在Classes窗格中作为一个快捷被选中时, 你可以使用任何出现在对象浏览器的 Member of 窗格中的存 取器;这就是说,你不需要在使用属性和方法之前返回应用 此属性和方法的对象,这是

18、因为 Visual Basic能够从你运行 的代码的上下文中检测出全局的属性或方法被应用于哪个对 象。 o 要想返回一个集合中的单个成员,你通常可以使用此成员的名称或索引 号码通过Item属性或方法来完成。例如,在Microsoft Excel中,下面的 表达式返回一个指向一个打开的名为“Sales”的工作簿的引用。 Workbooks.Item() Item 属性或方法对于大多数集合来说是缺省的方法。所以下 面的两个表达式是等效的。 Workbooks.( o 要想在分层结构中从一个对象往高处浏览,你通常可以使用该对象的 Parent属性。注意该Parent属性并不总是返回一个对象的最直接父

19、对 象它可能会返回该对象的“祖父”,特别是当此对象是一个集合对 象的成员之时。这就是说,一个处于集合中的对象的Parent属性可能 会返回此集合对象的父对象,而不是该对象的父对象。例如,一个Word 的Document对象的Parent属性返回Application对象,而不是 Documents集合对象。可以使用TypeName函数来找出一个对象的 Parent属性所返回的引用是什么对象的引用。例如,在Microsoft Excel 中,下面的语句显示了对象的类型,该对象由Worksheet对象的Parent 属性所提供。 MsgBox TypeName(Workbooks(1).Works

20、heets(1).Parent) 提示 你可以使用 Typename函数来确定通过任何表达式所返 回的对象的类型,而不仅仅只是包含 Parent 属性的表达式 所返回的对象类型。 ActivePresentation.Slides(1).Shapes(3). Object.Application在对象上应用属性和方法在你已经返回了指向你希望用来工作的对象的参考之后,你可以在此对象上应用属性和方法来为之设置一个属性或是在其上执行一个动作。在返回指向对象的引用的表达式中包含有属性或方法以及应用它们的对象。你需要使用“点(dot)”操作符(.)来将它们分开。下面的例子,可以在 Microsoft E

21、xcel,Word,或是 PowerPoint中运行,它通过使用Window 对象的Left属性来设置活动窗口的左边的位置, ActiveWindow 属性返回了一个指向该 Window 对象的引用。ActiveWindow.left = 200下面的 Word 例子通过使用 Document 对象的 Close 方法关闭活动的文档,ActiveDocument属性返回了一个指向该对象的引用。ActiveDocument.Close属性和方法可以带有限制它们如何操作的参数。在下面的 Word 例子里,Document 对象( ActiveDocument 属性返回了一个指向该对象的引用)的Pr

22、intOut 方法带有相应参数,该参数指定了它应该打印的页码范围。ActiveDocument.PrintOut Form:3, To:7你可能不得不在对象模型中的几个页面( layers )移动,以获得你认为是在应用程序中的真正的数据,例如说在 Microsoft Excel工作表的表元中的值,或是在一个Word 文档中的文本。下面的 Word例子使用了如下的属性和方法来从对象模型的顶端移动到文档的文本中: o Application属性返回一个指向Application对象的引用。 o Application对象的Documents属性返回一个指向Documents集合 的引用。 o Do

23、cuments集合的Item方法返回一个指向单个Document对象的引用。 o Document对象的Words属性返回一个指向Words集合的引用。 o Words集合的Item方法返回一个指向单个Range对象的引用。 o Range对象的Text属性设置此文档第一个字的文本。 Application.Documents.Item(1).Words.Item(1). Text = The 因为此 Documents属性是一个全局的属性,它可以被使用而没有Application 的限制,并且因为 Item 对于集合对象来说是缺省的属性和方法,所以你不需要在你的代码中明确地指出它们。你可以因

24、此缩短你的进程的语句,该语句显示在下面的例子里。这个例子隐含地从上至下进行移动,和前面所详细解释的例子一样历遍了同样多的级别。Documents(1).Words(1).Text = 同样,下面的Microsoft Excel 例子从上至下到达 Range对象,该对象表示在一个名为“ Sales.xls”的工作簿中叫做“ New ”的工作表里面的 B3表元。 Sales.xls ).Worksheets( New ).Range( B3 ).Value = 7获得书写代码的帮助有时候你可以猜到你需要为之返回引用的对象是什么对象,如何构造一个表达式来返回它,以及你需要在其上应用什么属性或方法以完

25、成一项工作。如,如果你希望关闭一个活动的 Word 文档,你可能会猜测到该关闭文档的功能是由 Close 方法所控制的,该方法应用在 Document 对象上,而该对象由ActiveDocument 属性来返回你是对的。然而,在大多数的时候,要想描绘出你希望使用的对象,属性以及方法并不是那么简单。幸运的是,Office应用程序包括了许多的工具,这些工具可以帮助你书写代码来进行你的工作。使用宏记录器如果你不知道你需要使用哪些属性和方法来完成你的工作,但是你知道如何使用用户界面接口来温差这项工作(或是某些同该工作非常类似的行为),你可以使用宏记录器来将对用户界面接口的一系列动作翻译为一系列的Vis

26、ual Basic的程序指令。例如,如果你不知道使用哪些属性和方法来缩进Word文档的一个段落,你可以记录你缩进一个段落的动作。要在Microsoft Excel,Word,或是PowerPoint中记录用户界面的动作,你需要按照以下步骤进行: 1. 打开工具(Tools )菜单,指向宏( Macro)命令项,然 后单击录制(Record New Macro)。 2. 如果你需要的话,你可以改变缺省的宏的名称和位置。然 后单击确定(OK)以启动宏记录器。 3. 在用户界面中,进行你希望的工作,直到完成。 4. 当你完成了你的工作,在停止记录( Stop Recording ) 工具条上单击停止

27、记录( Stop Recording )按钮。 5. 在工具(Tools )菜单中,指向宏( Macro)命令项,然 后单击宏(Macros)。 6. 选择步骤2 中建立的宏的名称,然后单击编辑(Edit)。你可以检测此Visual Basic代码,然后试着对你通过在用户界面中特定行为所建立的属性和方法进行修正。尽管此代码可以给你一个好的主意,以了解更多的有关这些属性和方法的信息,但是你可能并不希望直接使用这些代码而不经过任何的编辑修改。这是因为这些由宏记录器产生的代码通常并不是十分有效或是强壮。例如,记录代码通常从一个对象中启动,该对象在你开始记录以及在对象模型中从该对象移动到其它部分时被选择或是激活,如下面的Word例子所示。Selection.ParagraphFormat.LeftIndent = InchesToPoints(0.5)下面是另一个在PowerPoint中基于选择的代码的例子:ActiveWindow.Selection.ShapeRange.Delete在上面所描述的代码中就存在着问题,除了它们的效率不高以外,当你运行这些代码以使它正常工作时,还要依赖于被

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2