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

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

科技分类资讯推荐

BW2025即将开展,技嘉AORUS雕妹约你3H|3A08 雕宅见 - 天天要闻

BW2025即将开展,技嘉AORUS雕妹约你3H|3A08 雕宅见

史上规模空前的BilibiliWorld2025将于2025年7月11日-13日在上海国家会展中心开展!知名电竞硬件品牌技嘉AORUS已确认参展,为玩家打造游戏盛宴。现场不仅能体验新款硬核电竞装备、畅玩热门游戏大作,参与激烈的1V1对战PK,更有甜辣萌趣的雕妹喊你3H|3A08等你来!多重互动火力全开,带你玩转整个BW,开启今夏最燃电竞狂欢。...
35项服务可跨境办理,“澳政易”自助服务机上线珠海市民服务中心 - 天天要闻

35项服务可跨境办理,“澳政易”自助服务机上线珠海市民服务中心

“十几分钟就办完了,现场的协助人员指导我操作,太方便了!”7月1日上午,澳门居民梁女士来到珠海市民服务中心1号楼3楼的综合服务厅办理业务,在工作人员的帮助下,她在港澳跨境服务自助办理区的“澳政易”自助服务机上很快就办完了身份证明业务。6月30日,广州、珠海、中山、江门四个大湾区城市的政务服务中心正式启用了...
65亿美元芯片收购案,遭美国二次调查 - 天天要闻

65亿美元芯片收购案,遭美国二次调查

本文由半导体产业纵横(ID:ICVIEWS)综合 美国FTC对软银收购Ampere展开深度调查。 据知情人士透露,美国联邦贸易委员会就软银拟收购 Arm 服务器处理器厂商Ampe....
DRAM市场,将创新高 - 天天要闻

DRAM市场,将创新高

本文由半导体产业纵横(ID:ICVIEWS)综合 传统通用型DRAM和服务器高价值DRAM量价齐升双重驱动,2025年DRAM市场有望创新高。 根据CFM最新报告显示,2025年....
国产晶圆代工,市场巨变! - 天天要闻

国产晶圆代工,市场巨变!

未来十年,将是晶圆代工业的关键转折期。 这一判断,在近期一组数据中得到了清晰印证。根据 Yole Group 的最新报告,中国大陆有望在 2030 年超越中国台湾,跃居全球最大半导体晶圆代....
像卖车一样卖机器人?机器人体验店迎来爆发潮 - 天天要闻

像卖车一样卖机器人?机器人体验店迎来爆发潮

变现是目前人形机器人最大的问题。为了提高销量,更快形成社会氛围,拉动人才集中,业内诞生出多个全新思路。其中,集中展示4S店以及比赛,无疑是近期人形机器人行业关注的焦点。本文盘点了近日出现的4S店新模式▍具微科技(机器人4S店)6月30日,杭州迎来全国首家具身智能机器人4S店的开业。这个由具微科技打造的具身智能...
79元,小米刚上架的这服务,真的太爽啦 - 天天要闻

79元,小米刚上架的这服务,真的太爽啦

虽然今天比较受关注的,是小米1999元/月租金的“小米青年公寓”。但机哥还是想提醒一波。手持小米老机型的机友们,要是电池健康度已经掉了很多、又或是觉得手机续航不太够用。可别错过小米今天开启的“七月服务周”活动。活动时间是7月1日10点-7月
“全球Z世代创未来”:“上海·未来城市”全球创意作品征集 - 天天要闻

“全球Z世代创未来”:“上海·未来城市”全球创意作品征集

上海的未来是什么样子?让青年人来说,才算数。无论你来自哪里,带着怎样的故事,都能在这座城市找到属于自己的归属感。只因上海,从来不只是一座城,更是无数梦想的交汇点。用年轻的方式,去看见这座城市的无限可能吧。一则视频,一张照片,一幅插画,甚至是一行代码……你的创意,将成为链接世界的桥梁;你的表达,将定义...