VBA在文档中添加图形及填充颜色

2022年09月07日08:07:03 科技 1543

分享成果,随喜正能量】老天不给你困难,你又如何看透人心;老天不给你失败,你又如何发现身边的人是真是假;老天不给你孤独,你又如何反思自省;老天不给你生命中配上君子和小人,你又如何懂得提高智商!。

《VBA之Word应用》,是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。本套教程共三册十六章,今日内容为第九章:Shapes对象和Shape对象的第4节:VBA在文档中添加图形及填充颜色

VBA在文档中添加图形及填充颜色 - 天天要闻

第四节 Shape对象的属性(一)

大家好,我们这节开始Shape对象的属性讲解,Shape对象代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象、ActiveX 控件或图片。Shape对象是Shapes集合的成员, 其中包括文档的主要部分或文档的所有页眉和页脚中的所有形状。

有三个代表形状的对象:

1)Shapes集合,该集合代表文档中的所有形状;

2)ShapeRange对象,表示文档中的形状的指定子集。例如, shaperange对象可以代表文档中的第一和第四个形状, 也可以代表文档中的所有选定形状;

3)Shape对象, 该对象代表文档中的单个形状。

如果您需要同时处理几个形状,或处理选定区域中的多个形状,请使用 ShapeRange 集合。

本讲将给大家讲解Shape对象的AutoShapeType属性、CanvasItems 属性、Fill属性。

1 Shape.AutoShapeType属性

该属性返回或设置指定的shape对象的图形类型, 该对象不是代表线条或任意多边形, 而是代表自选图形。MsoAutoShapeType 类型(这个枚举值在第二节有介绍)

语法:expression.AutoShapeType

其中expression 是必须的,代表一个Shape对象的变量.

  • 改变一个形状的类型时,该形状保留其大小、颜色和其他属性。

2 Shape.CanvasItems属性

该属性返回一个CanvasShapes对象, 该对象代表绘图画布上的形状的集合。

语法:expression.CanvasItems

其中expression 是必须的,代表一个Shape对象的变量。

3 Shape.Fill属性

该属性返回一个FillFormat对象, 该对象包含指定形状的填充格式属性。 此为只读属性。

语法:expression.Fill

其中expression 是必须的,代表一个Shape对象的变量.

4 实例:图形的添加及颜色的填充

这节我们给大家展示一个实例,这个实例中先在活动文档中创建一个新的绘图画布,并在其上添加一个圆和16角星型。然后向 myDocument 添加一个矩形,然后为其设置前景色、背景色和矩形填充的渐变类型,最后将活动文档中的所有16角星形替换为32角星形,我们看代码:

Sub mynzC()

'活动文档中创建一个新的绘图画布,并在其上添加一个圆和16星型。

Dim myCanvas As Shape

Set myCanvas = ActiveDocument.Shapes.AddCanvas(Left:=100, Top:=75, Width:=150, Height:=400)

myCanvas.CanvasItems.AddShape Type:=msoShapeOval, Top:=25, Left:=25, Width:=150, Height:=150

myCanvas.CanvasItems.AddShape Type:=msoShape16pointStar, Top:=200, Left:=25, Width:=150, Height:=150

'向 myDocument 添加一个矩形,然后为其设置前景色、背景色和矩形填充的渐变类型。

With ActiveDocument.Shapes.AddShape(msoShapeRectangle, 280, 100, 150, 150).Fill

.ForeColor.RGB = RGB(128, 0, 0)

.BackColor.RGB = RGB(170, 170, 170)

.TwoColorGradient msoGradientHorizontal, 1

End With

ActiveDocument.Shapes.AddShape msoShape16pointStar, 280, 280, 150, 150

'将活动文档中的所有 16 磅星形替换为 32 磅星形

Dim myDoc As Document

Dim myShp As Shape

Set myDoc = ActiveDocument

For Each myShp In myDoc.Shapes

If myShp.AutoShapeType = msoShape16pointStar Then

myShp.AutoShapeType = msoShape32pointStar

End If

Next

End Sub

代码截图:

VBA在文档中添加图形及填充颜色 - 天天要闻

代码讲解:(略)

代码的运行效果:

VBA在文档中添加图形及填充颜色 - 天天要闻

今日内容回向:

1 Word中Shape对象的AutoShapeType属性、CanvasItems 属性、Fill属性的意义是什么?

2 如何利用VBA在当前文档中添加图形及颜色的填充?

本讲内容参考程序文件:Doc 009文档.docm

VBA在文档中添加图形及填充颜色 - 天天要闻

我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中:

VBA在文档中添加图形及填充颜色 - 天天要闻

VBA在文档中添加图形及填充颜色 - 天天要闻

VBA在文档中添加图形及填充颜色 - 天天要闻

分享成果,随喜正能量】老天对我们每个人都是公平的,有人让你哭了,一定会有人让你笑。。

科技分类资讯推荐

长安与东风重组新进展:朱华荣称不会改变长安既定战略 - 天天要闻

长安与东风重组新进展:朱华荣称不会改变长安既定战略

2月9日,长安汽车和东风集团股份(00489.HK)同步发布了控股股东“正在与其他国资央企集团筹划重组事项”的信息。长安汽车的控股股东是兵装集团,而东风集团股份的控股股东是东风公司。随即,长安汽车和东风集团这两家汽车央企将合并重组,成为业内关注的焦点。
公安部出手了!年龄限制放宽10年、送考下乡,2025年考驾照不难了 - 天天要闻

公安部出手了!年龄限制放宽10年、送考下乡,2025年考驾照不难了

电动车加强管理以后,要求机动车类型的车辆需要持证上路,但是老年人考驾照却受阻,一方面有年龄的限制,另一方面偏远山区考驾照不方便,所以在2025年公安部出手了,年龄限制放宽10年,同时推出送考下乡服务,还进一步的降低考驾照的费用,2025年起考摩托车驾照不难了。
从“星灵安全守护体系”到昊铂HL,看懂广汽科技日 - 天天要闻

从“星灵安全守护体系”到昊铂HL,看懂广汽科技日

发布会以技术切入,并全程围绕安全展开。广汽集团董事长、总经理冯兴亚率先登场,宣布2025年四季度将正式上市支持L3级智能驾驶的车型,他同时强调面向自动驾驶时代对智能驾驶技术、整车安全架构以及突发风险处理能力的要求更高。如何才能满足更高的要求?冯兴亚提到了“广汽
关税大棒下,最受伤的车企出现了 - 天天要闻

关税大棒下,最受伤的车企出现了

特朗普的关税大棒刚挥出,尚未吓退“外敌”,却先刺痛了自己。近日,拥有玛莎拉蒂、Jeep等14个品牌的全球第四大车企斯泰兰蒂斯突然宣布裁撤900名美国工人,关闭加拿大和墨西哥两家工厂,北美生产线陷入瘫痪。几乎同一时间,捷豹路虎宣布暂停对美出口一个月,奥迪更是直接