最近小編遇到一個問題:需要將一篇word文檔中的所有圖片全部縮小比例。一張張改太麻煩了。於是從網上搜羅了一下,還真找到了解決辦法。需要注意的地方 就是注意厘米與像素的換算關系。一般情況下1厘米=28px 。這個換算關系其實可以用計算器計算出來。計算公式為圖片改變之後的像素除以改變之後圖片的大小厘米。
固定長寬篇
這部分要說的是把word中的所有圖片修改成固定的並且相同的長和寬!
1、打開word,工具-宏-宏(或者直接按Alt+F8)進入宏的界面,如下面所示,輸入一個宏名,宏名自己起,能記住就行!
2、宏名起好了,單擊“創建”進入Visual Basic 編輯器,輸入如下代碼並保存
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
3、返回word,工具-宏-宏(或者直接按Alt+F8),再次進入宏的界面,選擇剛才編輯好的宏,並單擊“運行”按鈕,就可以了!(圖片多時,可能會花一些時間)
按比例縮放篇
這部分要說的是把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 控件、圖片等。