快捷搜索:  汽车  科技

wordvba获取选定区域位置:Word中Range对象VBA代码详细解读

wordvba获取选定区域位置:Word中Range对象VBA代码详细解读当您使用 Range 方法来指定文档的特定范围时,您必须使用此方法的 Start 参数指定这个范围开始的位置,使用 End 参数指定结束的位置。如果第一个字符的字符位置为 0。最后一个字符的位置和文档的字符总数相等 则表示的是整个文档。可以将 Start 和 End 参数设置为同一个数字,这将创建一个不包含任何字符的范围。这个连续范围可以小到一个插入点,大到整个文档。它也可能是(而非必须是)由当前节表示的范围。Range 对象中的字符可以包含非打印字符,例如,空格、回车符和段落标记。参数:①expression 是必需的。 是一个代表 Document 对象的变量。②Start 可选 Variant 表示开始字符位置。③End 可选 Variant 表示结束字符位置。

大家好,我们今日继续讲解VBA代码解决方案的第140讲内容:Word中RANGE对象的解读。

使用VBA一个常见的任务就是在文档中指定一块区域,然后对它进行处理,比如插入文字或应用格式等 来对文档中某个部分里的某个单词或短语进行定位。那就可以使用一个Range对象来表示想在其中搜索特定单词或短语的部分文档。在确定Range对象后,用户也能够应用该对象的方法和属性来修改相应范围中的内容。

一 什么是Range 对象 Range 对象表示文档中的一个连续范围,由一个起始字符位置和一个终止字符位置定义。

Expression.Range(Start end)

参数:①expression 是必需的。 是一个代表 Document 对象的变量。

②Start 可选 Variant 表示开始字符位置。

③End 可选 Variant 表示结束字符位置。

这个连续范围可以小到一个插入点,大到整个文档。它也可能是(而非必须是)由当前节表示的范围。Range 对象中的字符可以包含非打印字符,例如,空格、回车符和段落标记。

当您使用 Range 方法来指定文档的特定范围时,您必须使用此方法的 Start 参数指定这个范围开始的位置,使用 End 参数指定结束的位置。如果第一个字符的字符位置为 0。最后一个字符的位置和文档的字符总数相等 则表示的是整个文档。可以将 Start 和 End 参数设置为同一个数字,这将创建一个不包含任何字符的范围。

运行:

wordvba获取选定区域位置:Word中Range对象VBA代码详细解读(1)

三 Range 对象的表示范围

可以使用对象的 SetRange 方法设置或重新定义 Range 对象的内容。您也可以通过使用 Range 对象的 Start 属性或 MoveStart 方法指定或重新定义范围开始的位置。同样地,可以通过使用 Range 对象的 End 属性或它的 MoveEnd 方法指定或重新定义范围结束的位置。

例子:

Sub MynzRangeExample()

MsgBox "文档包含 " & ActiveDocument.Content.Characters.Count & " 个字符。"

Set rngSample = ActiveDocument.Content

With rngSample

.End = ActiveDocument.Sentences(1).End

MsgBox "第一句话包含 " & .Characters.Count & " 个字符。"

.SetRange Start:=0 End:=ActiveDocument.Paragraphs(1).Range.End

MsgBox "第一段包含 " & .Characters.Count & " 个字符。"

.MoveEnd Unit:=wdParagraph Count:=1

MsgBox "到第二段包含 " & .Characters.Count & " 个字符。"

End With

End Sub

代码截图:

wordvba获取选定区域位置:Word中Range对象VBA代码详细解读(2)

MynzRangeExample过程先用 ContentRagne 对象,该对象包含了文档的所有内容。接着,改变 EndSetRange 方法重新定义范围,使之包含文档的第一个段落。最后,使用 MoveEnd 方法将范围的结束位置扩展至文档的第二个段落末尾。

运行:

wordvba获取选定区域位置:Word中Range对象VBA代码详细解读(3)

wordvba获取选定区域位置:Word中Range对象VBA代码详细解读(4)

wordvba获取选定区域位置:Word中Range对象VBA代码详细解读(5)

wordvba获取选定区域位置:Word中Range对象VBA代码详细解读(6)

今日内容回向:

1 什么是RANGE对象?

2 RANGE对象的范围是如何界定的?

猜您喜欢: