使用VBA开发Word文档的编程基础知识

①什么是对象和集合

对象代表一个 Word 元素,如文档、段落、书签或单独的字符。集合也是一个对象,该对象包含多个其他对象,通常这些对象属于相同的类型;例如,一个集合对象中可包含文档中的所有书签对象。通过使用属性和方法,可以修改单独的的对象,也可修改整个的对象集合。

②什么是属性

属性是对象的一种特性或该对象行为的一个方面。例如,文档属性包含其名称、内容、保存状态以及是否启用修订。若要更改一个对象的特征,可以修改其属性值。

若要设置属性的值,可在对象的后面紧接一个句号、属性名称、一个等号及新的属性值。下列示例在名为“MyDocument.doc”的文档中启用修订。

Sub TrackChanges()

Documents("Sales.doc").TrackRevisions = True

End Sub

在本示例中,Documents 引用由打开的文档构成的集合,而“MyDocument.doc”标识集合中单独的文档。并设置该文档的TrackRevisions属性。

不能设置某些属性。属性的“帮助”主题中会标明可以设置该属性(可读写),或只能读取该属性(只读)。

通过返回对象的一个属性值,可以获取有关该对象的信息。下列示例返回活动文档的名称。

Sub GetDocumentName()

Dim strDocName As String

strDocName = ActiveDocument.Name

MsgBox strDocName

End Sub

在本示例中,ActiveDocument 引用 Word 活动窗口中的文档。该文档的名称赋给了strDocName 变量。

说明

每个属性的“帮助”主题表明可以设置该属性(可读写),只能读取该属性(只读),或只能写入该属性(只写)。此外“Visual Basic 编辑器”中的“对象浏览器”在浏览窗口的底部显示所选属性的读写状态。

③什么是方法

方法是对象可以执行的动作。例如,只要文档可以打印,Document对象就具有PrintOut方法。方法通常带有参数,以限定执行动作的方式。下列示例打印活动文档的前三页。

Sub PrintThreePages()

ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Pages:="1-3"

End Sub

在大多数情况下,方法是动作,而属性是性质。使用方法将导致发生对象的某些事件,而使用属性则会返回对象的信息,或引起对象的某个性质的改变。

④返回一个对象

可通过返回集合中单独的对象的方式来返回大多数对象。例如Documents集合包含打开的 Word 文档。可使用(位于 Word对象结构顶层的)Application对象的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 编辑器”,在“视图”菜单上单击“对象浏览器”。单击左侧“类”列表中的 Application。然后单击右侧“成员”列表中的 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集合。Add方法新建一篇文档,并返回一个 Document对象。然后对 Document对象应用 Save方法。

如上所示,可以使用方法或属性来访问下层对象。也就是说,在对象结构中,将方法或属性应用于某个对象的上一级对象,可返回该下级对象。返回所需对象之后,就可以应用该对象的方法并控制其属性。

(0)

相关推荐

  • 关于vba在word文档中插入文字并设置相应的文字属性介绍

    下面的VBA代码功能,第一步,word当前文档的上面添加文字dzwebs文字。然后,又设置第一段居中对齐,并在该段落之后添加半英寸的间距。将dzwebs的格式设为36磅,隶书字体。 Dim rngFo ...

  • vba在word文档中插入文字并设置相应的文字属性

    下面的VBA代码功能,第一步,word当前文档的上面添加文字dzwebs文字。然后,又设置第一段居中对齐,并在该段落之后添加半英寸的间距。将dzwebs的格式设为36磅,隶书字体。 Dim rngFo ...

  • vba设置word文档的格式

    ①将格式应用于选定内容 下列示例使用Selection属性将字符和段落格式应用于选定文本。使用Font属性获得字体格式的属性和方法,使用ParagraphFormat属性获得段落格式的属性和方法。 S ...

  • 在word文档中如何插入艺术字?

    很多刚接触到电脑的新手对于电脑的word文档都很苦恼,比如怎么插入艺术字,怎么插入图片,怎么设置环绕型等等一系列的问题都会缠绕找他们,毕竟这些都只是word文档的一些基础知识,下面我们来讲讲如何插入艺 ...

  • Word文档的样式和格式怎么设置?Word文档排版介绍

    Word文档的样式设计的让阅读者感觉比较舒服,就是一看挺好看的,这个样式设计是文档中选定的文字(如大标题,小标题,正文,图,表等)所呈现的风格,还有样式设计好后,给后续的排版带来便利,还有目录的自动生 ...

  • Word文档的样式和格式

    Word文档的样式设计的让阅读者感觉比较舒服,就是一看挺好看的,这个样式设计是文档中选定的文字(如大标题,小标题,正文,图,表等)所呈现的风格,还有样式设计好后,给后续的排版带来便利,还有目录的自动生 ...

  • Word文档VBA编程之Sections/Section对象用法

    以下内容与Word文档VBA编程的Sections或Section对象有关,希望对您有所帮助。 ActiveDocument.Sections.First '当前文档的第一节 ActiveDocume ...

  • VBA批量替换多个WORD文档中的内容

    要想一下子就替换掉很多个WORD文档中的内容,我们得使用VBA的办法才能实现,下面是方法,请过目。 一、前期准备 下面是具体操作步骤。 A,首先将需要批量替换的多个Word文档放在同一文件夹下面。 B ...

  • 如何在Word文档中将开发工具添加

    有的小伙伴在使用Word软件时,为了方便使用开发工具,因此想要在Word主页面中添加开发工具,但是却不知道如何添加,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,双击或者右击打开word文档2 ...