VBA在文档中添加图形及隐藏图形

2022年10月03日09:10:25 科技 1478

分享成果,随喜正能量】心生喜乐的时候,我们并没有看到隐藏在背后的痛苦,心生宁静的时候,那起伏不定的情绪正在赶来的路上,所有的事物都不会持久,也不会永恒,这就是无常。。

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

VBA在文档中添加图形及隐藏图形 - 天天要闻

第六节 Shape对象的属性(三)

大家好,我们这节继续Shape对象的属性讲解,上一讲给大家讲解Shape对象的Name属性,Shadow属性和TextFrame属性。这节给大家介绍Shape对象的TextEffect属性,Visible属性和Type属性。

1 Shape.TextEffect属性

该属性返回一个TextEffectFormat对象, 该对象包含指定形状的文本效果格式设置属性。 此为只读属性。

语法:expression.TextEffect

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

  • 此属性适用于代表艺术字的Shape对象。

2 Shape.Visible属性

该属性指定的对象或应用的格式,是可见的则返回true 。

语法:expression.Visible

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

3 Shape.Type 属性

该属性返回嵌入式图形的类型。只读的MsoShapeType。

  • MsoShapeType不同于MsoAutoShapeType两者的枚举值大家可以仔细对照,MsoAutoShapeType是MsoShapeType的类型之一

语法:expression.Type

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

MsoShapeType 枚举值:

1) mso3DModel 30 3d 模型

2) msoAutoShape 1 AutoShape

3) msoCallout 2 标注

4) msoCanvas 20 画布

5) msoChart 3 图表

6) msoComment 4 批注

7) msoContentApp 27 内容 Office 加载项

8) msoDiagram 21 规划

9) msoEmbeddedOLEObject 7 嵌入式 OLE 对象

10) msoFormControl 8 表单控件

11) msoFreeform 5 任意多边形

12) msoGraphic 28 图形

13) msoGroup 6 Group

14) msoIgxGraphic 24 SmartArt 图形

15) msoInk 22 Ink

16) msoInkComment 23 Ink comment

17) msoLine 9 Line

18) msoLinked3DModel 31 Linked 3D model

19) msoLinkedGraphic 29 链接的图形

20) msoLinkedOLEObject 10 链接 OLE 对象

21) msoLinkedPicture 11 Linked picture

22) msoMedia 16 媒体

23) msoOLEControlObject 12 OLE 控件对象

24) msoPicture 13 图片

25) msoPlaceholder 14 占位符

26) msoScriptAnchor 18 脚本定位标记。

27) msoShapeTypeMixed -2 混和形状类型

28) msoTable 19 Table

29) msoTextBox 17 文本框

30) msoTextEffect 15 文本效果

31) msoWebVideo 26 Web 视频

4 实例:添加图形并有选择的隐藏

这讲的实例中我们将在当前文档中添加些内容,首先添加一块画布,在画布上添加形状圆形;然后再添加些形状。

最后我们用Shape.Type 属性和AutoShapeType属性进行判断,对图形进行有选择的隐藏。我们看代码:

Sub mynzE()

Set myDoc = ActiveDocument

'在当前文档中添加画布

Set myCanvas = myDoc.Shapes.AddCanvas(Left:=10, Top:=20, Width:=150, Height:=400)

'画布中添加形状

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

'当前文档中添加几个自动图形

With myDoc

.Shapes.AddShape msoShapeBalloon, 100, 70, 150, 60

.Shapes.AddShape msoShapeRectangle, 200, 80, 150, 60

.Shapes.AddShape msoShapeCan, 300, 90, 150, 60

End With

For Each myShp In myDoc.Shapes

'隐藏矩形

If myShp.AutoShapeType = msoShapeRectangle Then

'myShp.Visible = True

myShp.Visible = False

End If

'隐藏画布及上面的形状

If myShp.Type = msoCanvas Then

'myShp.Visible = True

myShp.Visible = False

End If

Next

End Sub

代码截图:

VBA在文档中添加图形及隐藏图形 - 天天要闻

代码解读:(略)

代码的运行效果:

我们在代码的中间设置断点,进行两次测试,一是隐藏前的截图,一是隐藏后的截图:

VBA在文档中添加图形及隐藏图形 - 天天要闻

VBA在文档中添加图形及隐藏图形 - 天天要闻

今日内容回向:

1 Word中Shape对象的TextEffect属性,Shadow属性和Type属性的意义是什么?

2 如何利用VBA在当前文档中添加图形及文字,并设置阴影的填充?

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

VBA在文档中添加图形及隐藏图形 - 天天要闻

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

VBA在文档中添加图形及隐藏图形 - 天天要闻

分享成果,随喜正能量】因为生命有衰亡,才有了时间概念,如果生命是永恒的,那时间也就不存在了。。

科技分类资讯推荐

硬核出击!Jeep与《侏罗纪世界》联名款新车正式上市 - 天天要闻

硬核出击!Jeep与《侏罗纪世界》联名款新车正式上市

当硬核越野精神邂逅全球顶级IP,沉睡6500万年的野性基因再度觉醒。2025年7月2日,Jeep围绕电影《侏罗纪世界:重生》开启跨界联名合作,并发布两款终极探索座驾——Jeep牧马人侏罗纪世界探索版与Jeep角斗士侏罗纪世界探索版。
十多年未解谜症,ChatGPT一语道破病因?微软:“医疗超级智能”渐近 - 天天要闻

十多年未解谜症,ChatGPT一语道破病因?微软:“医疗超级智能”渐近

《科创板日报》7月6日讯 十多年未解的疑难杂症,竟被AI一语道破病因?这个看似有些科幻的故事,来自一位网友在Reddit上分享的经历,OpenAI总裁兼联合创始人Greg Brockman也在今日转发了这一事件。在这则Reddit帖子中,这位网友表示,十多年来自己一直被多种不明症状困扰。为此他做过脊椎核磁共振、CT 扫描、全套血液检查(...
坐标北京,如何在体感40℃+的“桑拿天”保持优雅? - 天天要闻

坐标北京,如何在体感40℃+的“桑拿天”保持优雅?

最近咱们北京的天气,可以说是“水深火热”——早上出门像蒸桑拿,下午阵雨说来就来,晚上闷得睡不着觉。很多网友在后台留言“这天气也太难熬了!”。高湿天气连续多日达到90%以上的湿度,让很多市民朋友高呼“难道回南天来了吗?”今天,我们特意针对这个热门话题,为大家详细普及“回南天”和“桑拿天”的区别,还会教您...
彻底火了,库存告急!订单已排到半月后 - 天天要闻

彻底火了,库存告急!订单已排到半月后

近期,“充电宝召回” 事件引发广泛关注,3C认证已成为消费者衡量充电宝品质的关键指标,国内部分机场也加强了对充电宝3C标识的查验力度。央视财经记者探访发现,线下市场和电商平台带有3C标识的充电宝产品销量都出现增长。