【分享成果,随喜正能量】走得越远,见识越多,认识的人越多,你就越能体会到,人这一辈子,你真的在意的,同时又在意你的人,就那么几个,这几个人,就是你全部的世界。三两知己,爱人在侧,父母康健,听起来平淡无奇,但已经是中等偏上的答卷了。。
《VBA之Word应用》,是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。本套教程共三册十六章,今日内容第七章 “Word中的Selection对象”,第2节:文档中图形及子图形的处理
第二节 Selection 对象的属性(二)
大家好,我们继续Selection对象属性的讲解,在上一讲中我们讲解了Selection对象Characters属性、End属性、Start属性,我们这节的内容是Selection对象的ChildShapeRange 属性、ShapeRange属性、Fields属性。
1 Selection.ChildShapeRange属性
此属性返回一个ShapeRange集合, 该集合代表所选内容中包含的子图形。
语法:expression.ChildShapeRange
其中expression为一个代表Selection对象的变量。
2 Selection.ShapeRange属性
此属性返回一个ShapeRange集合, 该集合代表选定内容中的所有Shape对象。 此为只读属性。
语法:expression.ShapeRange
其中expression为一个代表Selection对象的变量。
- 形状范围可以包含图形、形状、图片、OLE 对象、ActiveX 控件、文字对象和标注。
3 Selection.Fields属性
此属性返回一个只读的fields集合, 该集合代表选定内容中的所有域。
语法:expression. Fields
其中expression为一个代表Selection对象的变量。
4 实例:图形及子图形的处理
我们这节的实例我们来看一下图形和子图形的处理。这节中我们首先在当前文档最后插入时间及作者,利用的是Fields属性;紧接着,我们要新建一个文档,在这个文档中先添加两个矩形,并设置阴影;之后,我们添加一个画布,在画布中添加一个矩形及圆形,并用填充点填充。
我们看下面的代码:
Sub mynzA()
'在当前文档最后插入时间及作者
t = ActiveDocument.Content.End - 1
Set myRange = ActiveDocument.Range(Start:=t, End:=t)
myRange.Select
With Selection
.Collapse Direction:=wdCollapseStart
.Fields.Add Range:=Selection.Range, Type:=wdFieldDate
.Fields.Add Range:=Selection.Range, Type:=wdFieldAuthor
End With
'创建新的文档并添加图形
Dim myDoc As Document
Dim myShp As Shape
Set myDoc = Documents.Add
'添加两个矩形,并给有图形设置阴影
myDoc.Shapes.AddShape msoShapeRectangle, 350, 0, 100, 80
myDoc.Shapes.AddShape msoShapeRectangle, 350, 100, 100, 100
myDoc.Content.ShapeRange.Select
Selection.ShapeRange.Shadow.Type = msoShadow6
'添加一个画布,在画布中添加形状矩形和圆形
Set myShp = myDoc.Shapes.AddCanvas(Left:=100, Top:=100, Width:=200, Height:=200)
myShp.CanvasItems.AddShape msoShapeRectangle, Left:=0, Top:=0, Width:=100, Height:=100
myShp.CanvasItems.AddShape msoShapeOval, Left:=0, Top:=50, Width:=100, Height:=100
'选择画布中的图形,添加填充
myShp.CanvasItems.SelectAll
Selection.ChildShapeRange.Fill.Patterned msoPatternDivot
End Sub
代码截图:
代码解读:
1) t = ActiveDocument.Content.End - 1
Set myRange = ActiveDocument.Range(Start:=t, End:=t)
myRange.Select
With Selection
.Collapse Direction:=wdCollapseStart
.Fields.Add Range:=Selection.Range, Type:=wdFieldDate
.Fields.Add Range:=Selection.Range, Type:=wdFieldAuthor
End With
以上代码在当前文档最后插入时间及作者,其中t为文档的最终位置。
2) Set myDoc = Documents.Add
以上代码创建新的文档
3) myDoc.Shapes.AddShape msoShapeRectangle, 350, 0, 100, 80
myDoc.Shapes.AddShape msoShapeRectangle, 350, 100, 100, 100
myDoc.Content.ShapeRange.Select
Selection.ShapeRange.Shadow.Type = msoShadow6
以上代码添加两个矩形,并给有图形设置阴影。
4)Set myShp = myDoc.Shapes.AddCanvas(Left:=100, Top:=100, Width:=200, Height:=200)
以上代码添加一个画布。
5)myShp.CanvasItems.AddShape msoShapeRectangle, Left:=0, Top:=0, Width:=100, Height:=100
myShp.CanvasItems.AddShape msoShapeOval, Left:=0, Top:=50, Width:=100, Height:=100
以上代码在画布中添加形状矩形和圆形
6)myShp.CanvasItems.SelectAll
Selection.ChildShapeRange.Fill.Patterned msoPatternDivot
以上代码选择画布中的图形,添加填充
代码的运行效果:
今日内容回向:
1 Word中Selection对象的Selection对象的ChildShapeRange 属性、ShapeRange属性、Fields属性的意义是什么?
2 如何利用VBA添加图形及日期域?
本讲内容参考程序文件:Doc 007文档.docm
我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中:
【分享成果,随喜正能量】孩子若是平凡之辈,那就承欢膝下;若是出类拔萃,那就展翅高飞;接受孩子的平庸,就像孩子从来没有要求父母,一定要有多么优秀一样。穷不怪父,孝不比兄,苦不责妻,气不凶子。。
本文暂时没有评论,来添加一个吧(●'◡'●)