了解对象、属性和方法

对象是指 Microsoft Visual Basic 的基本构建基块;几乎您在 Visual Basic 中执行的所有操作都涉及修改对象。 Microsoft Word 的每一个元素如文档、表、段落、书签和字段都可以用 Visual Basic 中的一个对象来表示。

对象和集合是什么?

对象表示 Word 的元素,如文档、段落、书签或单个字符。 集合是包含多个其他对象(通常为相同类型)的对象,例如,文档中的所有书签对象都包含在一个集合对象中。 通过使用属性和方法,您可以更改单个对象或整个对象集合。

属性是什么?

属性是指对象的属性或其行为的一个方面。 例如,文档的属性包括其名称、其内容及其保存状态,以及变更跟踪是否已打开。 若要更改对象的特征,请更改其属性的值。

若要设置属性的值,请遵循对带句点、属性名称、等号和新属性值的对象的引用。 下面的示例在名为"MyDoc.doc"的文档中启用了变更跟踪。

Sub TrackChanges() 
    Documents("Sales.doc").TrackRevisions = True 
End Sub

在此示例中, Documents 引用打开的文档集合,名称“Sales.doc”标识集合中的单个文档。 为该单个文档设置了 TrackRevisions 属性。

某些属性无法设置。 属性的帮助主题指示属性可以设置(读/写)还是只能读取(只读)。

可通过返回其属性之一的值返回有关对象的信息。 以下示例返回活动文档的名称。

Sub GetDocumentName() 
    Dim strDocName As String 
    strDocName = ActiveDocument.Name 
    MsgBox strDocName 
End Sub

在此示例中, ActiveDocument 引用 Word 中活动窗口中的文档。 该文档分配给变量的名称指 Word 的活动窗口中的文档。 该文档的名称已分配给变量 strDocName

备注

每个属性的帮助主题指示您是能够设置属性(可读写),只能读取属性(只读)还是只能编写属性(只写)。 此外,当选定属性时,Visual Basic 编辑器中的对象浏览器会在浏览器窗口底部显示读/写状态。

方法是什么?

方法是对象可以执行的操作。 例如,正如文档可以打印一样,Document 对象具有 PrintOut 方法。 方法通常都带有参数,以限定如何执行操作。 以下示例将打印活动文档的前三页。

Sub PrintThreePages() 
    ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Pages:="1-3" 
End Sub

大多数情况下,方法是操作,属性是性质。 使用方法将导致对对象执行操作,而使用属性则将返回有关对象的信息或导致对象的性质发生改变。

返回对象

通过从集合中返回单个对象来返回大多数对象。 例如,Documents 集合包含打开的 Word 文档。 您使用 Application 对象(Word 对象层次结构顶端的对象)的 Documents 属性返回 Documents 集合。

访问集合后,您可以使用括号内的索引值返回单个对象(这与在数组中类似)。 索引值通常是一个数字或名称。 有关详细信息,请参阅从集合中返回对象

以下示例使用 Documents 属性访问 Documents 集合。 索引编号用于返回 Documents 集合中的第一个文档。 Close 方法然后将应用到 Document 对象以关闭 Documents 集合中的第一个文档。

Sub CloseDocument() 
    Documents(1).Close 
End Sub

以下示例使用名称(指定为字符串)标识 Documents 集合内的 Document 对象。

Sub CloseSalesDoc() 
    Documents("Sales.doc").Close 
End Sub

集合对象通常具有可用于修改整个对象集合的方法和属性。 Documents 对象具有 Save 方法,可将所有文档保存在集合中。 下面的示例通过应用 Save 方法保存打开的文档。

Sub SaveAllOpenDocuments() 
    Documents.Save 
End Sub

Document 对象还具有可用于保存单个文档的 Save 方法。 以下示例保存名为 Sales.doc 的文档。

Sub SaveSalesDoc() 
    Documents("Sales.doc").Save 
End Sub

要返回 Word 对象层次结构中更深入的对象,您必须使用返回对象的属性和方法"向下钻取"。

要查看这一点是如何实现的,请打开 Visual Basic 编辑器,然后在“视图”菜单中单击“对象浏览器”。 在左侧的"类"列表中单击"应用程序"。 然后在右侧的成员列表中单击"ActiveDocument"。 对象浏览器底部的文本指示"ActiveDocument"是只读属性,返回"Document"对象。 单击对象浏览器底部的"Document","Document"对象将在"类"列表中自动选中,"成员"列表将显示"Document"对象的成员。 滚动浏览成员列表,直至您找到"Close"。 单击"Close"方法。 "对象浏览器"窗口底部的文本将显示方法的语法。 有关该方法的详细信息,请按 F1,或单击"帮助"按钮跳转到"Close"方法帮助主题。

根据这些信息,您可以编写以下指令以关闭活动文档。

Sub CloseDocSaveChanges() 
    ActiveDocument.Close SaveChanges:=wdSaveChanges 
End Sub

以下示例将活动文档窗口最大化。

Sub MaximizeDocumentWindow() 
    ActiveDocument.ActiveWindow.WindowState = wdWindowStateMaximize 
End Sub

ActiveWindow 属性返回表示活动窗口的 Window 对象。 WindowState 属性设置为最大化常量 (wdWindowStateMaximize)。

以下示例将创建一个文档并显示“另存为”对话框,以便可以为该文档指定一个名称。

Sub CreateSaveNewDocument() 
    Documents.Add.Save 
End Sub

Documents 属性返回 Documents 集合。 The Add method creates a new document and returns a Document object. The Save method is then applied to the Document object.

正如您所看到的,您使用方法或属性向下钻取对象。 也就是说,您通过对在对象层次结构中其之上的对象应用某个方法或属性来返回对象。 返回所需对象之后,可以应用方法,并控制该对象的属性。

获取关于对象、方法和属性的帮助

在您熟悉 Word 对象模型之前,您可以使用一些工具来帮助您向下钻取层次结构。

  • Microsoft IntelliSense 。 当您在 Visual Basic 编辑器中某个对象后面键入句点 (.) 时,将显示可用属性和方法的列表。 例如,如果键入 Application.,将显示 Application 对象的方法和属性的下拉列表。

  • Help. You can also use Help to find out which properties and methods can be used with an object. Each object topic in Help includes a See Also jump that displays a list of properties and methods for the object. Press F1 while in the Object Browser or in a module to jump to the appropriate Help topic.

  • 对象浏览器 。 Visual Basic 编辑器中的对象浏览器可显示 Word 对象的成员(属性和方法)。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。