VBA插入文本及分页符
【 分享成果,随喜正能量】不急于拥有,也不刻意去追求,努力过好当下,顺其自然总会遇见。人需肯自渡,我助之;无果,我亦拈花静候。
《VBA之Word应用》,是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。本套教程共三册十六章,今日内容第六章 “Word中的Range对象(下)”第1节:VBA插入文本及分页符
第一节 Range对象的方法(五)
3 Range.InsertBreak方法
该方法将插入分页符、分栏符或分节符。
语法:expression.InsertBreak(Type)
其中expression 是必需的,是一个代表Range对象的变量
参数:Type 可选Variant 要插入的分隔符的类型。可以是WdBreakType常量之一。如果省略,则默认值为wdPageBreak。
- 当插入分页符或分栏符时,范围将被中断。 如果不想替换该范围,可以在使用 InsertBreak 方法之前使用Collapse方法。当您插入一个分节符时,分节符被插在范围前面。
- 根据您选择或安装的语言支持(如,美国英语)的不同,以上列出的某些常量可能不可用。
WdBreakType 的枚举值:
1)wdColumnBreak 8 插入点处的分栏符
2)wdLineBreak 6 换行符
3)wdLineBreakClearLeft 9 换行符
4)wdLineBreakClearRight 10 换行符
5)wdPageBreak 7 插入点处的分页符
6)wdSectionBreakContinuous 3 新节不包含相应分页符
7)wdSectionBreakEvenPage 4 使下一节从下一偶数页开始的分节符。 如果分节符落入偶数页,则 Word 将下一奇数页留为空白
8)wdSectionBreakNextPage 2 分节符在下一页
9)wdSectionBreakOddPage 5 使下一节从下一奇数页开始的分节符。 如果分节符落入奇数页,则 Word 将下一偶数页留为空白
10)wdTextWrappingBreak 11 结束当前行,并强制文字在图片、表格或其他项目的下方继续。文字将在下一个空行(且该空行不包含与左边距或右边距对齐的表格)上继续
4 实例:插入文本及分页符
下面我们仍是结合一个实例给大家讲解一下上述各个方法的应用,这段代码中,首先在文档前插入一个新的段落,段落添加文本;然后在某个段落之后添加文本;之后要求用户输入某个词语并添加到一个固定的位置;最后给文档的最后段落分页处理。我们看下面代码:
Sub mynz()
[代码见教程]
End Sub
代码截图:
代码解读:
1) Set myDoc = ActiveDocument 这句代码是定义myDoc对象
2) With myDoc.Content
.InsertParagraphBefore
.InsertBefore "藤野先生"
End With
以上代码在文档前插入一个新的段落,段落添加文本“藤野先生”
3)Set myRange = myDoc.Range(myDoc.Paragraphs(2).Range.Start, myDoc.Paragraphs(2).Range.End - 1)
myRange.InsertAfter "【初识藤野先生】"
以上代码在当前文档的第一个段落后面添加文本【初识藤野先生】,注意这里是Paragraphs(2),因为是在上面已经添加了一个段落。
4) myDoc.Content.InsertAfter "【师表风范】"
以上代码在当前活动文档的最后插入【师表风范】
5)UU = InputBox("记入自己第三段的感想词语")
With ActiveDocument.Paragraphs(3).Range
.InsertAfter "词语" & Chr(9) & UU
.InsertParagraphAfter
End With
以上代码首先要求用户输入一个词语,这个词语会添加在Paragraphs(3).Range,但要注意是添加在了段落标识符的前面,随后又加入了一个段落标识。
6)Set myRange = myDoc.Paragraphs(myDoc.Paragraphs.Count - 1).Range
With myRange
.Collapse Direction:=wdCollapseEnd
.InsertBreak Type:=wdPageBreak
End With
以上代码在活动文档倒数第二段之后插入一个分页符,也就是将最后一段分页。
最后我们看一下代码的运行效果,代码运行前:
代码运行后:
今日内容回向:
1 Word中Range对象的InsertBefore 方法、InsertAfter 方法、InsertBreak 方法的意义是什么?
2 如何利用VBA插入文本及分页设置?
本讲内容参考程序文件:Doc 006文档.docm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【 分享成果,随喜正能量】世亦不尘,海亦不苦。所谓的烦恼,不过是庸人自扰。人生短短数十载,所有爱恨得失,聚散沉浮,最终都会化作过眼云烟。生活这道题,无论怎么解都会有遗憾,与其计较纠缠,不如转身离开。人生下半场,放下是一种修行,算了是一种智慧。