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在文档中添加图形及隐藏图形 - 天天要闻

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

科技分类资讯推荐

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

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

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

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

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

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

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

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

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