Word中如何使用VBA批量调整图片大小

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

其实你完全可以不必这样,除了通过昨天介绍“多张图片大小怎么改?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:

赶快复制代码试试吧~~以上就是本期内容,喜欢的话欢迎点赞、分享。

AI助手