《VBA之Word应用》是我的第八套教程,专门讲解VBA在Word中的应用,重点是“面向对象编程”。先让大家了解一下Word中VBA的对象,以及它们的性质和方法,再通过实例让大家感受一下Word VBA的美好。本教程由三卷十六章组成。今天的内容是第6章,“Word中的Range对象(第2部分)”,第4节:插入分页符并扩展文档中的位置。
第四节 Range对象的方法(八)
大家好,下面继续Range对象方法的讲解。在上一讲中,我们解释了Range对象的set Range方法、PasteAndFormat方法和PasteSpecial方法。在本节中,我们将解释Select方法、GoTo方法和Expand方法。1 Range.Select方法
此方法选择指定范围。语法:表达式。挑选
其中expression是必需的,并且是代表Range对象的变量。
2 Range.GoTo方法
该方法返回一个Range对象,代表指定项目的起始位置,如页面、书签或字段。语法:expression.goto (what,which,count,name)
其中expression是必需的,并且是代表Range对象的变量。
参数:
1)要移动到哪个可选变型范围的物料类型。可以是wdGoToItem常量之一。
2)要移动到哪个可选变型范围。可以是**wdGoToDirection**常量之一。
3)统计文档中可选变量的项数。默认值为1。只有正值有效。若要指定前一个范围中的项目,请使用wdGoToPrevious作为其参数,并指定计数值。
4)Name Variant类型,可选。如果有任何参数是wdGoToBookmark、wdGoToComment、wdGoToField或wdGoToObject,则该参数指定一个名称。只有正值有效。若要指定前一个范围中的项目,请使用wdGoToPrevious作为其参数,并指定计数值。
3 Range.Expand方法
扩展指定区域或选定内容。返回添加到区域或所选内容中的字符数。语法:表达。展开(单位)
其中expression是必需的,并且是代表Range对象的变量。
参数:
1)单元可选变型测量单元以扩大面积。可以是下列shift常量之一: wdCharacter、wdWord、WD perspective、wdParagraph、wdSection、wdStory、wdCell、wdColumn、wdRow或wdTable。
WdGoToItem 常量枚举值:
WdGoToBookmark -1书签书签
WdGoToComment 6注释。
WdGoToEndnote 5尾注
WdGoToEquation 10公式方程式。
WdGoToField 7域字段
WdGoTofootnote 4脚注。
WdGoToGrammaticalError 14语法错误。
WdGoToGraphic 8图形
WdGoToHeading 11标题标题
WdGoToLine 3线段线。
WdGoToObject 9对象对象。
WdGoToPage 1页
百分之十二。
WdGoToProofreadingError 15校对错误。
WdGoToSection 0部分。
WdGoToSpellingError 13拼写错误。
WdGoToTable 2表。
WdGoToDirection 常量枚举值:
WdGoToAbsolute 1绝对位置。
wdGoToFirst 1指定的对象的第一个实例。
wdGoToLast -1指定的对象的最后一个实例。
wdGoToNext 2指定的对象的下一个实例
wdGoToPrevious 3指定的对象的最后一个实例。
wdGoToRelative 2相对于当前位置的位置。
4 实例:选择某范围,然后移动光标到其他位置并扩展
下面用一个例子来说明本节方法的应用。在本示例中:首先选择活动文档的第二段作为基础,然后在活动文档的倒数第二段后插入分页符。并将光标转到第二页的开头,延伸到整个段落。我们看代码:Sub mynzC()
设置myRange=ActiveDocument。第(2)款范围
我的兰芝。挑选
MsgBox myRange。文本
在活动文档的倒数第二段后插入分页符,即最后一段。
用myRange。折叠方向:=wdCollapseEnd。insert break type :=wdPageBreak
以…结尾
将光标转到第二页开始。
我的兰芝。转到What:=wdGoToPage,其中:=wdGoToAbsolute,Count:=2
我的兰芝。挑选
将myRange扩展到光标位于第二页的整个段落。
我的兰芝。SetRange Start:=选择。Range.Start,End:=选择。段落(1).Range.End
我的兰芝。展开Unit:=wdParagraph
我的兰芝。挑选
MsgBox myRange。文本
末端接头
代码截图:
代码解释:
这里只给大家讲解一下把myRange的范围扩展到第二页光标所在的整段的方法。这里有两个代码:
首先,我的范围。设置范围开始:=选择。范围。开始,结束:=选择。第款。范围。结束。
这段代码使用SetRange扩展来调整起始和结束位置。
另一个方案是直接扩展:myrange。expandunit :=wdparagraph。
以上两种方案都是可能的。
代码的运行效果:
转载请注明出处。