前提:一份Word文档里面有100张图片,有大有小,需要将100张图片更改为统一大小,宽度与高度均为5厘米,同时环绕方式也需要改成四周型。
默认Word图片的默认环绕方式为嵌入型,需要统一更改为四周型,然后才能批量更改大小,而批量更改大小方式需要使用VBA代码。
第一步:打开 Word 文档,并按下 Alt + F11 键(笔记本电脑按alt+fn+f11),打开 Visual Basic for Applications (VBA) 编辑器。在 VBA 编辑器中,选择 "插入" -> "模块",创建一个新的模块,如下图所示输入对应的代码。
第二步:在(VBA) 编辑器输入对应的过程代码:
VBA代码:
' 作用:循环遍历所有的环绕方式为嵌入型图片,将其更改为四周型
Sub ConvertInlineToSquareWrap()
Dim pic As InlineShape
' 循环遍历所有的嵌入型图片
For Each pic In ActiveDocument.InlineShapes
' 检查是否为图片类型
If pic.Type = wdInlineShapePicture Then
' 设置为四周型
pic.Select
Selection.ShapeRange.WrapFormat.Type = wdWrapSquare
End If
Next pic
End Sub
VBA代码:
' 作用:更改图片大小(对环绕方式为四周型或上下型起作用,如果是嵌入型不起作用)
Sub ResizeImages()
Dim shp As Shape
' 更改下面的宽度和高度为所需的尺寸(以厘米为单位)
Dim targetWidth As Single
targetWidth = CentimetersToPoints(5) ' 例如,将图片宽度调整为5厘米
Dim targetHeight As Single
targetHeight = CentimetersToPoints(5) ' 例如,将图片高度调整为5厘米
' 循环处理文档中的所有图片
For Each shp In ActiveDocument.Shapes
If shp.Type = msoPicture Then
' 更改图片大小
shp.LockAspectRatio = msoFalse
shp.Width = targetWidth
shp.Height = targetHeight
End If
Next shp
End Sub
说明:在 targetWidth = CentimetersToPoints(5) ,这个地方可以更改对应的最终目标图片的宽度; targetHeight = CentimetersToPoints(5) 可以更改对应的最终目标图片的高度;
运行宏:在 VBA 编辑器中,选择 "运行" -> "运行子过程",或按下 F5 键。
第三步:关闭VBA 编辑器回到Word中,选择 "开发工具" -> "宏",在弹出的宏对话框,如下图所示,宏对话框列表就会出现创建的过程,依次选定单击运行即可批量更改图片大小。
http://www.dushuwu.net/?570.html