DC娱乐网

VBA之Word应用: 在Word中,什么是Range对象

《VBA之Word应用》(版权10178982),是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向

《VBA之Word应用》(版权10178982),是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。

这套教程是专门针对WORD VBA 的教程,是VBA中的稀缺资源,我给这套教程分归为中级教程,希望大家在VBA入门后再学习这套教程,这样会更加深入的理解面向对象编程的意义。

本套教程共三册十六章,今日内容为VBA之Word应用第五章第一节 在Word中,什么是Range对象

【分享成果,随喜正能量】万般皆苦,唯有自渡。没人扶你的时候,要自己站直,没人帮你的时候,要自己努力。相信自己,只要你足够勇敢,没有熬不过的艰难。人生三万天,过一天就少一天。前半生是奋斗,后半生是享受。

第五章第一节 在Word中,什么是Range对象

我们知道Range的含义是一个范围,在Excel中这个范围是单元格区域,可以是一个单元格,也可以是多个单元格。在Word中Range同样表示一个范围,这个范围可以是文档的任何部分,大如包括整个文档,也可以小如一个字符。概况地讲:在Word中,Range对象表示文档中的一个连续区域。每个 Range 对象由一个起始字符位置和一个终止字符位置定义。

1 Range对象与Bookmark对象

在第二章中,我给大家首先讲解了word中的书签,以便让大家能尽快地理解VBA在Word中的应用。Range对象与Bookmark书签对象在文档中的使用方法类似,Range 对象同样可以用来标识文档的特定部分。但与书签不同的是,Range对象只在定义该对象的过程运行时才存在。 Range对象不受选定内容影响。这就是说,你可以定义Range对象并对其进行操作,无需更改选定内容。此外,你还可以在文档中定义多个Range对象,但每个Range对象只能具有一个选定内容。

使用Range方法返回一个Range对象, 该对象由给定的起始和结束字符位置定义。例如:以下示例将返回引用活动文档中的前 10 个字符的 Range 对象:

Set myRange = ActiveDocument.Range(Start:=0, End:=10)

2 Range对象应用的灵活性

1) 使用Range属性可返回一个Range对象, 该对象由另一个对象的开头和结尾定义。 Range 属性适用于多种对象(例如 Paragraph、Bookmark )。

2) 以下示例返回引用活动文档中第一段的 Range 对象。

Set myRange = ActiveDocument.Paragraphs(1).Range

3) 下面的示例返回一个Range对象, 该对象引用活动文档中的第二到第四个段落。

Set myRange = ActiveDocument.Range( Start:=ActiveDocument.Paragraphs(2).Range.Start, _

End:=ActiveDocument.Paragraphs(4).Range.End)

4) 使用Document对象的range方法可以创建一个Range对象,该对象位于主体文档中并具有给定的起始和终结点。 下面的示例创建一个Range对象,该对象从第一个字符的开始位置开始并延伸到第十个字符:

Set rngDoc = ActiveDocument.Range(Start:=0, End:=10)

5) 得到 Range 对象后,可使用它的任何属性或方法来修改该Range对象。下列示例选定活动文档中的第二个段落并将所选内容居中。

ActiveDocument.Paragraphs(2).Range.Select

Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

3 利用Range对象设置某段文档的格式

由于Range对象具有非常大的灵活性,我们可以利用它来完成某段文档的格式设置,下面我们来看代码:

Sub mynz()

Dim myRng As Range

Set myRng = ActiveDocument.Paragraphs(1).Range

With myRng

.Bold = True

.ParagraphFormat.Alignment = wdAlignParagraphCenter

With .Font

.Name = "隶书"

.Size = 15

End With

End With

End Sub

代码截图:

代码的解读:

1) 以上代码利用了嵌套with语句,来设置活动文档的第一段,居中,加粗,字体为“隶书”,字号为15。

2) myRng = ActiveDocument.Paragraphs(1).Range 是将第一段的文档赋给变量myRng。大家要注意这种用法,是非常方便和实用的。

代码的运行效果,代码运行前:

代码运行后:

今日内容回向:

1 什么是Word中的Range对象?

2 Word中的Range对象有什么特点?

本讲内容参考程序文件:Doc 005文档.docm

我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中: