在WORD中批量修改图片大小(zz)

zz from http://scholesy.blog.163.com/blog/static/1685618202011112992041961/

 

固定长宽篇

这部分要说的是把word中的所有图片修改成固定的并且相同的长和宽!

1、打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的界面,如下面所示,输入一个宏名,宏名自己起,能记住就行!

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中的所有图片按比例缩放!

具体操作同上,只是代码部分稍做修改,代码如下:

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 To ActiveDocument.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

 

若还想使所有图片居中对齐,可在循环中加入下面的语句:

ActiveDocument.InlineShapes(n).Range.ParagraphFormat.Alignment= wdAlignParagraphCenter'左对齐:wdAlignParagraphLeft

注意:这里的Shapes(InlineShapes)不仅仅是指图片,也包含其它的,自选图形、任意多边形、OLE 对象、ActiveX 控件、图片等。

使用示例

第一步:打开被修改文档(示例为aaa.doc

第二步:点击"工具-宏-宏"

 第三步:随便起个名字(abc),然后点创建,注意名字不能是数字

第四步:将宏内容复制并粘贴在宏编辑器里,注意上面的 Sub abc()是你起的名字,可能不同

第五步:粘贴后的内容应该是这样的

第六步:粘贴好后,点击保存图标,保存编辑的内容 

第七步:切换回被编辑WORD文档,打开宏命令栏,点击运行

第八步:如果尺寸不合适,切换回宏编辑器,修改

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

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

中的数值(红色标记400300),当心不要把"设置图片…"文字前面的单引号删除掉(单引号后面是VBA中注释语句意思的);设置好后,点击保存图标,然后切换回WORD文档,打开宏命令栏运行看效果。不断的调试高度和宽度,直到满意为止。

原文地址:https://www.cnblogs.com/superql/p/2872339.html