《VBA之Word运用》,是我推出第八套教程,教程是专门讲解VBA在Word中的运用,环绕“面向工具编程”讲解,首先让大家认识Word中VBA的工具,以及工具的属性、方法,然后通过实例让大家感想熏染到Word VBA 的妙处。本套教程共三册十六章,今日内容第六章 “Word中的Range工具(下)”第4节:在文档中插入分页符及位置的扩展
第四节 Range工具的方法(八)
大家好,我们这讲连续Range工具方法的讲解,在上一讲中我们讲解了Range工具的SetRange 方法、PasteAndFormat方法、PasteSpecial 方法,这节我们将讲解Select方法、GoTo方法、Expand 方法。
1 Range.Select方法此方法选择指定的范围。
语法:expression.Select
个中expression 是必需的,是一个代表Range工具的变量
2 Range.GoTo方法此方法返回一个 Range 工具,该工具表示指定的item,如页、书签或字段的起始位置。
语法:expression. GoTo(What,Which,Count,Name)
个中expression 是必需的,是一个代表Range工具的变量
参数:
1)What 可选 Variant 范围要移动到的项的类型。 可以是wdGoToItem常量之一。
2)Which 可选 Variant 范围要移动到的项。 可以是wdGoToDirection 常量之一。
3)Count 可选 Variant 在文档中的项的数目。 默认值为 1。 只有正值是有效的。 要指定之前范围的项,请利用 wdGoToPrevious 作为其参数并指定计数值。
4)Name 可选 Variant 如果哪些参数是wdGoToBookmark、wdGoToComment、 wdGoToField或wdGoToObject ,则此参数指定一个名称。 只有正值是有效的。 要指定之前范围的项,请利用 wdGoToPrevious 作为其参数并指定计数值。
3 Range.Expand方法扩展指定的区域或所选内容。返回添至该区域或所选内容的字符数.
语法:expression. Expand(Unit)
个中expression 是必需的,是一个代表Range工具的变量
参数:
1)Unit 可选 Variant 度量单位以展开该区域。 可以是下列的移常量之一: wdCharacter、wdWord、wdSentence、wdParagraph、wdSection、wdStory、wdCell wdColumn、 wdRow或wdTable.
WdGoToItem 常量列举值:
wdGoToBookmark -1 书签bookmark.
wdGoToComment 6 批注 comment.
wdGoToEndnote 5 尾注endnote.
wdGoToEquation 10 公式equation.
wdGoToField 7 域 field.
wdGoToFootnote 4 脚注 footnote.
wdGoToGrammaticalError 14 语法缺点grammatical error.
wdGoToGraphic 8 图形graphic.
wdGoToHeading 11 标题 heading.
wdGoToLine 3 线段 line.
wdGoToObject 9 工具 object.
wdGoToPage 1 页 page.
wdGoToPercent 12 百分比 percent.
wdGoToProofreadingError 15 校正缺点proofreading error.
wdGoToSection 0 节 section.
wdGoToSpellingError 13 拼写缺点 spelling error.
wdGoToTable 2 表格table.
WdGoToDirection 常量列举值:
wdGoToAbsolute 1 绝对位置.
wdGoToFirst 1 所指定工具的第一个实例.
wdGoToLast -1 所指定工具的末了一个实例
wdGoToNext 2 所指定工具的下一个实例
wdGoToPrevious 3 所指定工具的上一个实例。
wdGoToRelative 2 相对付当前位置的位置
4 实例:选择某范围,然后移动光标到其他位置并扩展我们下面就一个实例来讲解一下本节方法的运用。这讲的实例中:首先选择活动文档的的第二段作为根本,然后在活动文档倒数第二段之后插入一个分页符,分页。并将光标转到第二页开始,扩展到全体段落。我们看代码:
Sub mynzC()
Set myRange = ActiveDocument.Paragraphs(2).Range
myRange.Select
MsgBox myRange.Text
'活动文档倒数第二段之后插入一个分页符,也便是将末了一段分页
With myRange
.Collapse Direction:=wdCollapseEnd
.InsertBreak Type:=wdPageBreak
End With
'将光标转到第二页开始
myRange.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2
myRange.Select
'将myRange范围扩展到第二页光标所在的全体段落
'myRange.SetRange Start:=Selection.Range.Start, End:=Selection.Paragraphs(1).Range.End
myRange.Expand Unit:=wdParagraph
myRange.Select
MsgBox myRange.Text
End Sub
代码截图:
代码解读:
这里只给大家讲解一下将myRange范围扩展到第二页光标所在的全体段落的方法,这里给出了两种代码:
其一:myRange.SetRange Start:=Selection.Range.Start, End:=Selection.Paragraphs(1).Range.End
这句代码利用的是SetRange扩展调度开始和结束的位置。
还有一种方案是直接扩展:myRange.Expand Unit:=wdParagraph
以上两种方案都是可以的。
代码的运行效果:
今日内容回向:
1 Word中Range工具的Select方法、GoTo方法、Expand 方法的意义是什么?
2 如何利用VBA移动及扩展某区域?
本讲内容参考程序文件:Doc 006文档.docm
我20多年的VBA实践履历,全部浓缩不才面的各个教程中:
【分享成果,随喜正能量】干事,就两个字:坚持,多坚持一会,多忍耐一次,大概就会有意外的惊喜。