首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Word VBA批量调整图片大小

在使用Word编辑文档的时候,我们时常会插入一些图片素材,如果word中插入了几十甚至上百张图片,而且尺寸大小都不一样,为了美观统一。

需要将所有的图片调整成相同的大小,你该不会一张张的调整吧?

其实你完全可以不必这样,除了通过昨天介绍“多张图片大小怎么改?2个批量处理技巧【Word教程】”的2种方法之外,Word中还有更高能的技巧:那就是使用宏(VBA)来解决这个问题。

下面,一起来看看操作技巧:

(1)首先插入图片或直接打开已有图片的Word图文文档。

(2)直接按【Alt+F8】打开 “宏”对话框,在“宏名”文本框中输入宏名称"setpicsize",然后点击“创建”按钮。

(3)打开VBA编辑器(也可直接按【Alt+F11】快捷键),删除窗口中原有的通用代码,然后将下面的代码复制粘贴到窗口中。

Sub setpicsize() '设置图片尺寸

Dim n '图片个数

On Error Resume Next '忽略错误

For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes 类型 图片

ActiveDocument.InlineShapes(n).Height = 198.45 '设置图片高度为 7cm

ActiveDocument.InlineShapes(n).Width = 283.5 '设置图片宽度 10cm

Next n

End Sub

技巧提示:代码中图片的宽度(Height )= 170.1 '设置图片高度为 6cm );高度(Width) = 283.5 '设置图片宽度 10cm,是如何计算得出的。

方法为:Word中的尺寸单位默认是cm(厘米),而1cm等于28.35px(像素),由于代码中换算设置的单位是px(像素)。所以就用尺寸高度或宽度值乘像素值。即为:7*28.35=198.45;宽度换算方法与此相同。

(4)然后按【Ctrl + S 】键保存内容,关闭窗口。再次按【ALT + F8】打开 “宏”对话框查看宏,点击“运行”按钮。此时,文档中的所有图片就会自动的变成设置好的尺寸大小了。

效果如图所示:

但是,细心的小伙伴会发现,上方文档中图片的高度还是不一样,是怎么回事?这是由于勾选了“锁定纵横比”复选框(是Word为了调整图片尺寸时,为保持图片不变形而默认勾选的选项)。

在图片上右击鼠标,选择“大小和位置”命令,在打开的对话框中取消勾选““锁定纵横比”复选框。然后运行宏,此时,所有图片的高度和宽度就统一了。

又或是:打开VBA编辑器(也可直接按【Alt+F11】快捷键),新建模块,然后将下面的代码复制粘贴到窗口中。

Sub FormatPics()

Dim Shap As InlineShape

For Each Shap In ActiveDocument.InlineShapes

If Shap.Type = wdInlineShapePicture Then

Shap.LockAspectRatio = msoFalse '不锁定纵横比

Shap.Width = CentimetersToPoints(10) '宽10CM

Shap.Height = CentimetersToPoints(7) '高7CM

End If

Next

End Sub

然后保存宏,关闭窗口。再运行宏:

▼ 附GIF:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200216A0NHWF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券