创建字符序列

字符序列的起点和终点位置可以直接用字符的位置指定,也可以用段落字符序列的起点或终点位置指定。下面打开D盘下的文档terst2.docx,获取第20个字符到第40个字符定义的字符序列,选择该字符序列。[大谦Excel,dqexcel点com]

code.python
>>> import win32com.client as win32
>>> from win32com.client import constants
>>> app=win32.gencache.EnsureDispatch('word.application')
>>> app.Visible=True
>>> doc=app.Documents.Open('D:\\test2.docx')  #打开文档
>>> rng=doc.Range(Start=20,End=40)  #定义字符序列
>>> rng.Select()

效果如图3-1所示,第20个字符到第40个字符定义的字符序列被选中。

Document Image

图3-1 定义字符序列

下面打开文档test2.docx,创建字符序列时用文档中第1个段落的起点定义字符序列的起点,用第2个段落的终点定义字符序列的终点。选择该字符序列。关于表示段落的Paragraphs对象,在后面的内容中进行介绍。

code.python
>>> doc=app.Documents.Open('D:\\test2.docx')  #打开文档
>>> rng=doc.Range(Start=doc.Paragraphs(1).Range.Start,\
End=doc.Paragraphs(2).Range.End)  #定义字符序列
>>> rng.Select()

效果如图3-2所示。

Document Image

图3-2 用段落的起点和终点定义新字符序列

对于已经存在的Range对象,可以使用Range对象的SetRange方法修改字符序列的起点位置和终点位置。

对于图3-2中定义的字符序列,下面用Range对象的SetRange方法重新定义该字符序列的范围,并选择它。

code.python
>>> rng.SetRange(Start=30, End=50)
>>> rng.Select()

效果如图3-3中亮显部分所示,可见,字符序列的范围改变了。

Document Image

图3-3 重新定义字符序列的范围并选择它