VBA之Word应用第五章第六节 Range对象的属性(五)
《VBA之Word应用》(版权10178982),是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。
这套教程是专门针对WORD VBA 的教程,是VBA中的稀缺资源,我给这套教程分归为中级教程,希望大家在VBA入门后再学习这套教程,这样会更加深入的理解面向对象编程的意义。
本套教程共三册十六章,今日内容为VBA之Word应用第五章第六节Range对象的属性(五)

【分享成果,随喜正能量】当你的见识多了,眼界宽了,格局大了,所有的磨难都将不再是磨难,而是助你成长的阶梯。多要求自己,你会更加独立,少要求别人,你会减少失望,宁愿花时间去修炼不完美的自己,也不要浪费时间去期待完美的别人!
第五章第六节Range对象的属性(五)
大家好,我们继续讲解Range对象的属性,这节的内容是Range属性的最后一节,这章的Range对象是我们掌握Word VBA的重要内容,我们要特别的掌握。
1Range.Tables 属性
这个属性返回一个tables集合, 该集合代表指定区域中的所有表格。
语法:expression. Tables
其中expression 为一个表示 Range 对象的变量。
2Range.Underline 属性
返回或设置应用于一系列的下划线的类型。
语法:expression.Underline
其中expression 为一个表示 Range 对象的变量。
3Range.ShapeRange 属性
这个属性返回一个ShapeRange集合, 该集合代表指定区域中的所有Shape对象。
语法: expression.ShapeRange
其中expression 为一个表示 Range 对象的变量。
l图形范围可以包含绘图、图形、图片、OLE 对象、ActiveX 控件、文本对象和标注。
4实例:添加下划线、添加图表、添加图形颜色
下面我们举个实例,这个实例中将给当前活动文档的某个段落添加上下划线,并在当前文档中添加一个表格,在表格中添加文本,最后在当前文档中添加两个图形,并给图形添加颜色。下面我们看代码:
Sub mynzE()
‘将文档的第三段加上双下划线
ActiveDocument.Paragraphs(3).Range.Underline= wdUnderlineDouble
‘添加两个矩形,填充紫色
ActiveDocument.Shapes.AddShapemsoShapeRectangle, 50, 50, 100, 200
ActiveDocument.Shapes.AddShapemsoShapeRectangle, 150, 150, 100, 200
ActiveDocument.Content.ShapeRange.Fill.ForeColor.RGB= _
RGB(255,0, 255)
‘添加图表,图表的第一列填上数据
ActiveDocument.Paragraphs.Add
SetmyTable = ActiveDocument.Tables.Add(Range:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range, _
NumRows:=3,NumColumns:=3, DefaultTableBehavior:=wdWord9TableBehavior)
Num= 100
ForEach myCell In ActiveDocument.Tables(1).Columns(1).Cells
myCell.Range.Text= Num & ” VBA”
Num= Num + 1
Next
End Sub
代码截图:

代码解读:
1)’将文档的第三段加上双下划线
ActiveDocument.Paragraphs(3).Range.Underline = wdUnderlineDouble
以上代码将当前文档的第三个段落添加上双下划线,wdUnderlineDouble 是双下划线。
下面我们看一下WdUnderline的 枚举值:
wdUnderlineDash 7划线。
wdUnderlineDashHeavy23粗划线。
wdUnderlineDashLong39长划线。
wdUnderlineDashLongHeavy55长粗划线。
wdUnderlineDotDash9点划相间线。
wdUnderlineDotDashHeavy25粗点划相间线。
wdUnderlineDotDotDash10点-点-划线相间模式。
wdUnderlineDotDotDashHeavy26粗点-点-划线相间模式。
wdUnderlineDotted4点。
wdUnderlineDottedHeavy20粗点。
wdUnderlineDouble3双线。
wdUnderlineNone0无下划线。
wdUnderlineSingle1单线。 默认值。
wdUnderlineThick6单粗线。
wdUnderlineWavy11单波浪线。
wdUnderlineWavyDouble43双波浪线。
wdUnderlineWavyHeavy27粗波浪线。
wdUnderlineWords2仅为单个字加下划线。
2)’添加两个矩形,填充紫色
ActiveDocument.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200
ActiveDocument.Shapes.AddShapemsoShapeRectangle, 150, 150, 100, 200
ActiveDocument.Content.ShapeRange.Fill.ForeColor.RGB= _
RGB(255,0, 255)
以上代码会添加两个矩形图形,关于图形的添加我们会在以后讲解到,msoShapeRectangle
是指矩形,后面跟的四个数值分别指图形的位置Left, Top大小Width,Height。
添加图形后给图形添加上紫色RGB(255, 0, 255),大家要注意添加颜色的写法: ActiveDocument.Content.ShapeRange.Fill.ForeColor
3) ‘添加图表,图表的第一列填上数据
ActiveDocument.Paragraphs.Add
以上代码添加一个新的段落
4) Set myTable = ActiveDocument.Tables.Add(Range:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range, NumRows:=3, NumColumns:=3, DefaultTableBehavior:=wdWord9TableBehavior)
以上代码是添加一个图表
5)Num = 100
For Each myCell In ActiveDocument.Tables(1).Columns(1).Cells
myCell.Range.Text= Num & ” VBA”
Num= Num + 1
Next
以上代码是在图表的首列填上内容,
下面看代码的运行情况:


今日内容回向:
1什么是Word中Range对象的Tables属性、Underline属性、ShapeRange属性的意义是什么?
2如何设置段落的图表、图形及下划线?
本讲内容参考程序文件:Doc 005文档.docm
我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中:




夜雨聆风