如何批量修改word中图片的尺寸

时间:2024-02-20 15:28:31

word批量修改图片大小——固定长宽篇

这部分要说的是把word中的所有图片修改成固定的并且相同的长和宽!
1、打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的界面,如下面所示,输入一个宏名,宏名自己起,能记住就行!注意:宏名不能设置为和特有关键字一样:如:set 等

宏

2、宏名起好了,单击“创建”进入Visual Basic 编辑器,输入如下代码并保存
Sub setpicsize() \'设置图片大小
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

3、返回word,工具-宏-宏(或者直接按Alt+F8),再次进入宏的界面,选择刚才编辑好的宏,并单击“运行”按钮,就可以了!(图片多时,可能会花一些时间)

word批量修改图片大小——按比例缩放篇

这部分要说的是把word中的所有图片按比例缩放!
具体操作同上,只是代码部分稍做修改,代码如下:
Sub setpicsize() \'设置图片大小
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 * 1.1 \'设置高度为1.1倍
ActiveDocument.InlineShapes(n).Width = picwidth * 1.1 \'设置宽度为1.1倍
Next n
For n = 1 ToActiveDocument.Shapes.Count \'Shapes类型图片
picheight = ActiveDocument.Shapes(n).Height
picwidth = ActiveDocument.Shapes(n).Width
ActiveDocument.Shapes(n).Height = picheight * 1.1 \'设置高度为1.1倍
ActiveDocument.Shapes(n).Width = picwidth * 1.1 \'设置宽度为1.1倍
Next n
End Sub