将下方宏命令copy到命令窗口中并点击运行即可,也无需保存,即可
图片说明

注意,n需要替换为实际值:如15,单位是cm

(1)设置固定大小n厘米:


Sub resetImgSize()
Dim iShape As InlineShape
For Each iShape In ActiveDocument.InlineShapes
iShape.LockAspectRatio = msoTrue
iShape.Height = CentimetersToPoints(n)
iShape.Width = CentimetersToPoints(n)
Next
End Sub

(2)等比例缩放n倍:


Sub resetImgSize()

Dim imgHeight

Dim imgWidth
Dim iShape As InlineShape
For Each iShape In ActiveDocument.InlineShapes
iShape.LockAspectRatio = msoTrue

imgHeight = iShape.Height

imgWidth = iShape.Width
iShape.Height = CentimetersToPoints(n * imgHeight )
iShape.Width = CentimetersToPoints(n * imgWidth)

Next
End Sub

(3)最大宽度n厘米等比例缩放:


Sub resetImgSize()

Dim imgHeight

Dim imgWidth
Dim iShape As InlineShape
For Each iShape In ActiveDocument.InlineShapes
iShape.LockAspectRatio = msoTrue

imgHeight = iShape.Height
imgWidth = iShape.Width

iShape.Height = CentimetersToPoints(n * imgHeight / imgWidth)
iShape.Width = CentimetersToPoints(n)
Next
End Sub

如果想对同一文件夹下的word进行批量处理 ,可参考下文:

最后修改:2021 年 03 月 15 日
如果觉得我的文章对你有用,请随意赞赏