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在文档中添加图形及填充颜色 - 天天要闻

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

科技分类资讯推荐

吉利汽车上半年累销1409180辆 上调2025年销量目标至300万辆 - 天天要闻

吉利汽车上半年累销1409180辆 上调2025年销量目标至300万辆

7月1日,吉利汽车控股有限公司(0175.HK)公布6月销量数据:乘用车销量236036辆,同比增长42%,已连续10个月销量突破20万辆,今年1~6月,集团累计销量达1409180辆,同比增长47%。基于上半年强劲销售表现,吉利汽车决定将原定全年销量目标上调
央视曝黄牛抢票产业链:软件模拟真人操作,还有“速通插件” - 天天要闻

央视曝黄牛抢票产业链:软件模拟真人操作,还有“速通插件”

IT之家 7 月 2 日消息,抢演唱会门票、预约景区、排专家号…… 为啥不少普通人点得飞快,却总“一无所获”?据央视新闻报道,挖掘手机信令数据发现:演唱会开票当天,某头部票务 App 的活跃用户数,比平时多了 55%;截至上周,热门博物馆小程序用户量较 6 月初日均提升 54.2%。报道提到,现在很多黄牛都已经不采取人海战术...
雷军:小米汽车计划2027年出海 - 天天要闻

雷军:小米汽车计划2027年出海

快科技7月2日消息,在今晚的直播中,雷军透露小米汽车后年(2027年)才会有出海的计划。雷军表示,当前小米汽车在国内处于“供不应求”状态,优先服务好国内车主是现阶段核心任务。随着市场需求增长,小米汽车2025年交付目标已经从30万台上调至35万台,市场热度可见一斑。此前,小米集团合伙人、总裁卢伟冰在小米2024年业绩...
最高1600kW!滴滴液冷柔性共享兆瓦超充桩亮相:充电1分钟、续航百公里 - 天天要闻

最高1600kW!滴滴液冷柔性共享兆瓦超充桩亮相:充电1分钟、续航百公里

快科技7月2日消息,7月1日至3日,第十七届国际交通技术与设备展览会在北京国家会议中心举办。现场展示了一台小桔充电与充电桩制造企业联合研发的“液冷柔性共享兆瓦超充桩”。该超充桩整机输出功率最高可达到1600kW,最快可实现“充电1分钟、续航百公里”。同时搭载最新升级的“小桔充电unicorn OS 智能系统”,通过功率灵...
银川算力产业园启动运营 - 天天要闻

银川算力产业园启动运营

7月2日,银川算力产业园举行启动运营仪式,标志着银川市建设“算力之都”战略取得里程碑式进展,为区域数字经济发展注入核心动力。据悉,产业园完成建设后,可服务人工智能理论峰值计算能力不低于20000P,实现算力、算法、数据等资源要素的汇集,形成一定的人工智能计算应用场景,为银川“算力之都”建立资源与应用基础。图...
微软宣布全球裁员 9000 人,占员工总数不到 4% - 天天要闻

微软宣布全球裁员 9000 人,占员工总数不到 4%

IT之家 7 月 2 日消息,微软公司本周三宣布,将在全球范围内裁员约 9000 人。据 CNBC 报道,知情人士透露,此次裁员涉及公司不同团队、不同地区以及不同经验层级的员工,占其全球员工总数的不到 4%。此次裁员消息发布于微软 2026 财年的第二天,而该公司通常会在新财年开始时进行组织架构调整。微软一位发言人在电子邮件中...