word_vba_详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

word vba 详解(转一)

2009-07-12 09:29

Office 中的Word

作者: David Shank

在所有Office 应用程序中,Microsoft Word 可能是应用最广泛的应用程序,它还经常在自定义Office 解决方案中扮演重要的角色。开发人员用各种不同的方式使用Word,有一些方式很简单,而另一些极其复杂。无论涉及何种自定义解决方案,用Visual Basic for Applications (VBA) 处理Word 文档的基本方法都是一样的。在本月的栏目中,我将概括地介绍如何使用Word,并提供一些关于如何运用Range 对象处理Word 文档内容的详细资料。

理解基本方法

在Word 中,几乎所有的操作都要调用Document(记录)对象本身或其内容。当您用VBA 操作Word 时,Document 对象表示一个打开的文档,而且所有的Document 对象都是Application 对象的Documents 集合的成员。

文档是一个由字符、单词、句子和段落组成的集合,字符组成单词,单词组成句子,句子组成段落,等等。因此,每一个Document 对象都具有Characters(字符)、Words (分类号单词)、Sentences(句子)和Paragraghs 四个集合。此外,每个文档具有一个包含一个或多个节的Sections 集合,每一个节都有一个包含该节页眉和页脚的HeadersFooters 集合。

注意:您可以在Microsoft Office 2000 开发人员对象模型指南(英文)中查阅完整的Word 对象模型。另外,您也可以使用对象浏览器和Microsoft Word Visual Basic 参考帮助来学习有关具体某个对象、属性、方法和事件的详细内容。

通过VBA 使用Word 时,Document 对象处于中心位置。如果您要打开文档或创建新文档,就要创建新的Document 对象。每个打开或新创建的文档均被添加至Documents 集合。具有焦点的文档称为活动文档,由ActiveDocument 属性表示。

Document 对象作为Documents 集合中的一个成员,您可以通过使用Document 对象的索引值(Document 对象在Documents 集合中的位置,1 是集合中的第一个文档)或名称来引用它。另外,您也可以使用ActiveDocument 属性来引用当前具有焦点的文档。例如,如果名为Policies.doc 的文档是唯一打开的文档,则以下三个对象变量将全部指向Policies.doc:

Dim docOne As Word.Document

Dim docTwo As Word.Document

Dim docThree As Word.Document

Set docOne = Documents(1)

Set docTwo = Documents("Policies.doc")

Set docThree = ActiveDocument

一般情况下不要使用Documents 集合中的索引值来引用文档,因为当其它文档打开或关闭时,某个特定文档的索引值可能会随之改变。通常,您可以通过使用ActiveDocument 属性或使用Documents 集合的Add 方法或Open 方法创建的Document 对象变量。以下示例显示了如何使用ActiveDocument 属性把一个地址添加到当前具有焦点的文档中:

With ActiveDocument

.Envelope.Insert Address:="Office Talk" _

& vbCrLf & "One Microsoft Way" & vbCrLf _

& "Redmond, WA 98052", ReturnAddress:= _

"David Shank" & vbCrLf & _

"77 First Street" & vbCrLf & _

"Any Town, USA 12345"

End With

下面的示例说明如何通过使用Documents 集合的Open 方法,实例化Document 对象变量。

Dim docPolicy As Word.Document

Set docPolicy = Documents.Open("c:\my documents\policies.doc")

最后一个示例显示如何通过使用Add 方法,为新的空文档创建Document 对象的实例。

Dim docPolicy As Word.Document

Set docPolicy = Documents.Add

通过使用Open 方法打开的文档,或者通过使用Add 方法创建的文档,都将成为用ActiveDocument 属性表示的当前活动文档。如果您想使Documents 集合里的其它文档成为活动文档,可使用Document 对象的Active 方法。

一旦您获取了要操作的Document 对象,绝大部分您想通过VBA 进行的工作将涉及文本的操作。首先要指定文档的一个部分,然后对它进行某些操作。例如,添加或删除文本,或者设置单词或字符的格式。您可以使用Range 或Selection 这两个对象来完成很多工作。在本月的专栏中,我将只讨论Range 对象。下个月我们将进一步讨论Selection 对象的具体内容。

理解Word 的段落标记

当您通过程序处理文本时,必须理解Word 如何处理段落标记。从根本上来看,Word 文档不过是一个巨大的字符流。人们倾向于认为文档是单词、句子和段落的集合。但实际上,文档就是一些字符。每个字符都有一定的作用。某些字符是字母、空格或制表符,另一些字符是段落标记或分页符。

相关文档
最新文档