最近小编遇到一个问题:需要将一篇word文档中的所有图片全部缩小比例。一张张改太麻烦了。于是从网上搜罗了一下,还真找到了解决办法。需要注意的地方就是注意厘米与像素的换算关系。一般情况下1厘米=28px 。这个换算关系其实可以用计算器计算出来。计算公式为图片改变之后的像素除以改变之后图片的大小厘米。 固定长宽篇 这部分要说的是把word中的所有图片修改成固定的并且相同的长和宽! 1、打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的界面,如下面所示,输入一个宏名,宏名自己起,能记住就行! Sub setpicsize() '设置图片大小 Dim n '图片个数 On Error Resume Next '忽略错误 Forn = 1 ToActiveDocument.InlineShapes.Count 'InlineShapes类型图片 ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度 300px Nextn Forn = 1 ToActiveDocument.Shapes.Count 'Shapes类型图片 ActiveDocument.Shapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.Shapes(n).Width = 300 '设置图片宽度 300px Nextn End Sub 按比例缩放篇 这部分要说的是把word中的所有图片按比例缩放! 具体操作同上,只是代码部分稍做修改,代码如下: Sub setpicsize() '设置图片大小 Dim n '图片个数 Dimpicwidth Dimpicheight On Error Resume Next '忽略错误 For n = 1 ToActiveDocument.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倍 Nextn 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倍 Nextn End Sub 若还想使所有图片居中对齐,可在循环中加入下面的语句: ActiveDocument.InlineShapes(n).Range.ParagraphFormat.Alignment= wdAlignParagraphCenter ‘左对齐:wdAlignParagraphLeft 注意:这里的Shapes(InlineShapes)不仅仅是指图片,也包含其它的,自选图形、任意多边形、OLE 对象、ActiveX 控件、图片等。 |