《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为一个代表Selection对象的变量。l形状范围可以包含图形、形状、图片、OLE 对象、ActiveX 控件、文字对象和标注。3 Selection.Fields属性此属性返回一个只读的fields集合, 该集合代表选定内容中的所有域。其中expression为一个代表Selection对象的变量。4 实例:图形及子图形的处理我们这节的实例我们来看一下图形和子图形的处理。这节中我们首先在当前文档最后插入时间及作者,利用的是Fields属性;紧接着,我们要新建一个文档,在这个文档中先添加两个矩形,并设置阴影;之后,我们添加一个画布,在画布中添加一个矩形及圆形,并用填充点填充。 t = ActiveDocument.Content.End - 1 Set myRange = ActiveDocument.Range(Start:=t, End:=t) .Collapse Direction:=wdCollapseStart .Fields.Add Range:=Selection.Range, Type:=wdFieldDate .Fields.Add Range:=Selection.Range, Type:=wdFieldAuthor 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 msoPatternDivot1) t = ActiveDocument.Content.End - 1 Set myRange = ActiveDocument.Range(Start:=t, End:=t) .Collapse Direction:=wdCollapseStart .Fields.Add Range:=Selection.Range, Type:=wdFieldDate .Fields.Add Range:=Selection.Range, Type:=wdFieldAuthor以上代码在当前文档最后插入时间及作者,其中t为文档的最终位置。2) Set myDoc = Documents.Add3) myDoc.Shapes.AddShape msoShapeRectangle, 350, 0, 100, 80 myDoc.Shapes.AddShape msoShapeRectangle, 350, 100, 100, 100 myDoc.Content.ShapeRange.SelectSelection.ShapeRange.Shadow.Type = msoShadow64)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:=100myShp.CanvasItems.AddShape msoShapeOval, Left:=0, Top:=50, Width:=100, Height:=1006)myShp.CanvasItems.SelectAllSelection.ChildShapeRange.Fill.Patterned msoPatternDivot 1 Word中Selection对象的Selection对象的ChildShapeRange 属性、ShapeRange属性、Fields属性的意义是什么?本讲内容参考程序文件:Doc 007文档.docm我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中: 孩子若是平凡之辈,那就承欢膝下;若是出类拔萃,那就展翅高飞;接受孩子的平庸,就像孩子从来没有要求父母,一定要有多么优秀一样。穷不怪父,孝不比兄,苦不责妻,气不凶子。。
|