宁可坚守正道虽不足,也不行邪道而有余。知心之交难得,天下相识亦稀。书七分真,戏三分虚,故事皆由光影编造。还债胜于布施,避祸优于修福。莫因恶小而为之,莫因善小而不为。
VBA之Word应用是我推出的第八套教程,专注于讲解VBA在Word中的实际运用。本教程以面向对象编程为核心,首先介绍Word中VBA的主要对象及其属性与方法,再通过具体实例展现VBA的强大功能。全套教程分为三册,共十六章。今天的内容来自第九章,主题为Shapes对象与Shape对象,主要讲解第1节:如何在文档中添加画布以及插入图片,帮助读者掌握图形元素的程序化操作技巧。

在引言中,我们介绍了Shapes集合对象与Shape对象的基本概念。从本节开始,将系统讲解这两个对象的属性与方法,并结合实际案例说明其具体应用。本节重点介绍Shapes集合对象的Count属性、AddCanvas方法以及AddPicture方法,帮助读者深入理解并掌握这些功能的使用方式与操作技巧。
该属性返回一个表示集合中形状数量的长整型数值,且为只读。
语法:统计表达式的数量。
其中expression为必选项,表示一个Shapes集合对象。
该方法向文档插入绘图画布,返回代表该画布的Shape对象,并将其加入Shapes集合中。
方法语法:AddCanvas(左, 上, 宽, 高, 锚点),用于在指定位置和尺寸添加画布,并设置其布局锚定方式。
其中expression为必选项,代表一个Shapes集合对象。
参数:
Left 必须为单精度数值,表示绘图画布左边缘相对于定位标记的磅值距离。
Top 表示单绘图画布上边缘到锁定标记的垂直距离,单位为磅。
3)Width 为必填项,表示绘图画布的宽度,单位为磅。
高度必须为单精度数值,表示绘图画布的磅单位高度。
5)Anchor 可选 Variant 类型,用于指定画布所绑定的文本区域(Range对象)。若设置了 Anchor,锁定标记将位于锁定区域首段的起始位置;若省略此参数,则系统自动确定锁定范围,画布将依据页面的上边距和左边距进行定位。
该方法将图片添加到绘图画布,返回代表该图片的Shape对象,并将其加入CanvasShapes集合中。
语法格式为:expression.AddPicture(文件名, 是否链接, 是否随文档保存, 左边距, 顶端位置, 宽度, 高度),用于在文档中插入图片并设置其显示属性和位置参数。
其中expression为必选项,表示一个Shapes集合对象。
参数:
FileName 为必填字符串,表示图片的路径及文件名。
2)linkToFile 可选 Variant,设为 True 时将图片链接至源文件,False 则生成独立副本,默认值为 False。
3)SaveWithdocument(可选,Variant类型),设为TRUE时,表示将链接的图片随文档一同保存,默认值为FALSE。
4)Left(可选),Variant类型,指定新图片左边缘距绘图画布左侧的距离,单位为磅。
5)Top:可选,指定新图片上边缘距绘图画布顶部的距离,单位为磅。
可选参数,设置图片宽度,单位为磅。
7)Height:可选参数,用于设置Variant图片的高度,单位为磅。
接下来介绍在当前文档中插入画布并添加图片的方法,具体代码如下:
添加一个画布
往画布上添加一个图形
将指定路径的IMG图片.jpg文件添加到 myCanva 的画布元素集合中。
提示文档中当前图形数量
弹出消息框显示:当前文档中的图形数量为:后跟活动文档中图形对象的总数。
End Sub

代码解析:(省略)
代码的运行效果:

今日内容回向:
Word中Shapes集合的Count属性用于获取形状数量,AddCanvas方法用于添加绘图画布,AddPicture方法则用于插入图片,三者均用于操作文档中的图形元素。
如何用VBA在当前文档插入画布和图片?

本讲内容依据Doc 009文档.docm编写。

二十多年VBA实战经验,精华尽在以下教程与工具之中。



操千曲方懂音律,观千剑才识利器。不经比较不知差距,骤然富贵难适新境,贫困仍守旧习。精神凝聚则文笔老练,学问深厚则心性平和。欲戒酒者,当以清醒之眼观醉态。