当前位置: 欣欣网 > 办公

Word教程:用VBA代码批量调整一堆照片的大小

2024-03-15办公

哈喽~大家好呀!

今天要跟大家分享的案例是一位小伙伴工作上遇到的问题。

我们先来模拟小伙伴说的问题,打开一份空白的Word文档,从插入选项卡中找到图片所在文件夹,全选图片,批量插入到文档中。因为照片尺寸不统一,所以每页存放图片数量也是不一样的。

图片全部插入到文档中的效果如下图。

大家可能会想到使用 F4 键进行重复设置图片大小。

先选中一个图片,点击鼠标右键设置图片大小和位置,取消锁定纵横比,高度和宽度设定一个自己期望大小的值。接着依次选中其他图片按 F4 键就可以重复操作了(部分笔记本电脑可能需要按 Fn+F4 键)。只要你 F4键按的快,图片批量处理剩下的就是时间问题。

如果要设置的图片数量不多的话,按 F4 键一定是最优的选择。但是小伙伴说她有一堆照片,这个一堆就非常过份了,于是我实在忍不了,站出来用 VBA来批量处理了。

操作方法如下:

从【开发工具】选项卡中找到【Visual Basic】按钮,单击进入VBE 编辑器,插入模块,将下面的 VBA代码复制、粘贴到模块中去,最后执行宏即可自动将文档中所有的图片批量设置指定大小了。

分割线中间为 VBA代码内容。

Sub 指定图片大小() '设置图片大小

Dim n '图片个数

On Error Resume Next '忽略错误

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

ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为 400px

ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度 300px

Next n

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

ActiveDocument.Shapes(n).Height = 400 '设置图片高度为 400px

ActiveDocument.Shapes(n).Width = 300 '设置图片宽度 300px

Next n

End Sub

如果想让图片等比例缩放可以使用下面的 VBA代码来处理:

Sub 等比例缩放图片() '设置图片大小

Dim n '图片个数

Dim picwidth

Dim picheight

On Error Resume Next '忽略错误

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

picheight = ActiveDocument.InlineShapes(n).Height

picwidth = ActiveDocument.InlineShapes(n).Width

ActiveDocument.InlineShapes(n).Height = picheight * 0.5 '设置高度为0.5倍

ActiveDocument.InlineShapes(n).Width = picwidth * 0.5 '设置宽度为0.5倍

Next n

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

picheight = ActiveDocument.Shapes(n).Height

picwidth = ActiveDocument.Shapes(n).Width

ActiveDocument.Shapes(n).Height = picheight * 0.5 '设置高度为0.5倍

ActiveDocument.Shapes(n).Width = picwidth * 0.5 '设置宽度为0.5倍

Next n

End Sub

操作方法如下:

等比例缩放的代码和前面指定尺寸代码有什么区别呢?

以演示素材中的西瓜图片尺寸为例,调整后的图片尺寸是调整前的 0.5倍。因此,这里大家可以根据自己的实际需求灵活调整,比如等比例放大或者缩小图片都是可以的。

好了,以上就是今天跟大家分享的内容,感谢大家耐心看完,希望大家能够喜欢,别忘了分享哦~

另外,全套Word视频教程,永久免费学习,还送练习课件!扫码入群领取

长按二维码添加加入群