字符序列的起点和终点位置可以直接用字符的位置指定,也可以用段落字符序列的起点或终点位置指定。下面打开D盘下的文档terst2.docx,获取第1个字符到第10个字符定义的字符序列,选择该字符序列。[大谦Excel,dqexcel点com]
code.vba
Sub Test()
'新建Range对象
Dim doc As Document
Set doc = Documents.Open("D:\test2.docx")
Dim rng As Range
Set rng = doc.Range(Start:=0, End:=10)
rng.Select
End Sub
效果如图3-1所示,第1个字符到第10个字符定义的字符序列被选中。
图3-1 定义字符序列
下面打开文档test2.docx,创建字符序列时用文档中第1个段落的起点定义字符序列的起点,用第2个段落的终点定义字符序列的终点。选择该字符序列。关于表示段落的Paragraphs对象,在后面的内容中进行介绍。
code.vba
Sub Test2()
'利用已有Range对象构造新的Range对象
Dim doc As Document
Set doc = Documents.Open("D:\test2.docx")
Dim rng As Range
Set rng = doc.Range(Start:=doc.Paragraphs(1).Range.Start, End:=doc.Paragraphs(2).Range.End)
rng.Select
End Sub
效果如图3-2所示。
图3-2 用段落的起点和终点定义新字符序列
对于已经存在的Range对象,可以使用Range对象的SetRange方法修改字符序列的起点位置和终点位置。
下面用Range对象的SetRange方法重新定义该字符序列的范围,并选择它。
code.vba
Sub Test4()
'修改起点或终点
Dim doc As Document
Set doc = Documents.Open("D:\test2.docx")
Dim rng As Range
Set rng = doc.Range(Start:=0, End:=10)
rng.SetRange Start:=0, End:=20
rng.Select
End Sub
效果如图3-3中亮显部分所示,可见,字符序列的范围改变了。
图3-3 重新定义字符序列的范围并选择它