前面几节已经多次用到了Collapse方法,使用该方法对字符序列内容进行折叠。这里的折叠是什么意思呢?我们对一个字符序列插入换行符或特殊符号,默认时会用插入的字符替换字符序列中的文本,替换后实际上就只有一个插入点了。如果保留字符序列,那么就有字符序列前和字符序列后两个插入点。选择哪个点插入呢?这里就要用到Collapse方法,通过设置Direction参数确定将文本内容折叠到起点处还是终点处,从而确定插入的点。
图3-29中在字符序列后插入了特殊符号,如果希望在文本前插入,只需修改Collapse方法Direction参数的取值就可以了,即
>>> rng.Collapse(Direction=constants.wdCollapseStart)
>>> rng.InsertSymbol(CharacterNumber=87, Font="Symbol')
会在字符序列前插入该特殊符号。
使用Range对象的Expand方法可以对指定文本进行扩展。该方法的语法格式为:
rng.Expand(Unit)
其中,rng是Range对象,Unit参数是对rng进行展开的度量单位,可以是wdUnits 常量之一,即wdCharacter, wdWord, wdSentence, wdParagraph, wdSection, wdStory, wdCell, wdColumn, wdRow或wdTable。
这里,rng可以是几个连续的字符或单词等,用Expand可以将它扩展到它所在的句子、段落或节等。
下面对于文档doc中第26到34个字符定义的字符序列,用Expand方法将它扩展到它所在的段落。
>>> rng=doc.Range(Start=26,End=34)
>>> rng.Expand(Unit=constants.wdParagraph)
>>> rng.Select()
设置后,选择该字符序列,发现整个段落被选中了,说明原字符序列已经扩展到了整个段落。
使用Expand方法可以对指定文本两端进行扩展,使用MoveStart方法和MoveEnd方法则可以对指定文本的前端和后端进行扩展。
下面对于文档doc中第26到34个字符定义的字符序列,用MoveEnd方法对字符序列末端进行扩展,扩展的长度为一个句子,即它当前所在的句子。
>>> rng=doc.Range(Start=26,End=34)
>>> rng.MoveEnd(Unit=constants.wdSentence,Count=1)
>>> rng.Select()
选择当前的字符序列,效果如图3-30所示。
图3-30 对指定字符序列末端进行扩展
用MoveStart方法对字符序列首端方向进行扩展。注意,此时需要设置该方法的Count参数的值为负值,为负值表示向后扩展,为正值表示向前扩展。下面用MoveStart方法对字符序列向后扩展,单位为1个句子。
>>> rng=doc.Range(Start=26,End=34)
>>> rng.MoveStart(Unit=constants.wdSentence,Count=-1)
>>> rng.Select()
选择当前字符序列,效果如图3-31所示。
图3-31 在1个句子范围内向后扩展