2024年6月7日发(作者:)
需要将一篇word文档中的所有图片全部缩小比例,怎么办?一张张改太麻烦了。可以
用Word里宏命令的批量处理解决。需要注意的地方 就是注意厘米与像素的换算关系。一
般情况下1厘米=28px 。这个换算关系其实可以用计算器计算出来。计算公式为图片改变
之后的像素除以改变之后图片的大小厘米。
固定长宽篇代码
Sub setpicsize() '设置图片大小
Dim n '图片个数
On Error Resume Next '忽略错误
For n = 1 To 'InlineShapes类
型图片
Shapes(n).Height = 400 '设置图片高度
为 400px
Shapes(n).Width = 300 '设置图片宽
度 300px
Shapes(n).ent=
wdAlignParagraphCenter '设置图片居中
Next n
For n = 1 To 'Shapes类型图片
(n).Height = 400 '设置图片高度为 400px
(n).Width = 300 '设置图片宽度 300px
Next n
End Sub
说明:
1. VB语言中对图片大小的设置是以原图的长宽等比在缩放,统一设置时默认优
先对齐所有图片的“宽度”。
2. Shapes(n).ent=
wdAlignParagraphCenter '设置图片居中 可以让图片居中,Left、Right可
以分别设置左对齐、右对齐。
3. 全文如果有“手动换行符”↓(代码是^l),设置某一部分居中时会影响漆
上下部分的居中与否,因而,如果需要只对图片进行居中,则需先将全文中
的↓替换成“段落标记符”(常规回车键,代码是^p)。
4. 这里的Shapes(InlineShapes)不仅仅是指图片,也包含其它的,自选图形、
任意多边形、OLE 对象、ActiveX 控件、图片等。
5. InlineShapes类型图片与Shapes类型图片的区别有待研究。
按比例缩放篇代码
Sub setpicsize() '设置图片大小
Dim n
Dim picwidth
Dim picheight
On Error Resume Next '忽略错误
For n = 1 To 'InlineShapes类型图片
picheight = Shapes(n).Height
picwidth = Shapes(n).Width
Shapes(n).Height = picheight * 0.6 '设置高度为
0.6倍
Shapes(n).Width = picwidth * 0.6 '设置宽度为0.6
倍
Next n
For n = 1 To 'Shapes类型图片
picheight = (n).Height
picwidth = (n).Width
(n).Height = picheight * 0.6 '设置高度为0.6倍
(n).Width = picwidth * 0.6 '设置宽度为0.6倍
Next n
End Sub


发布评论