小一最近在復習高數,復習材料當然是下載的電子版的了,嘿嘿!不過~~這材料居然~~所有復雜的式子都是圖片形式的,光是這樣小一也就忍了,關鍵高數 嘛~~式子會比較復雜,這些圖片做的又那麼小,根本看不清啊!按住Ctrl+滾輪倒是可以放大,但是這樣不是很方便,而且~~小一還想打印出來呢,怎麼辦 呢?總不能一個圖片一個圖片的修改吧……
聲明:小一下面要說的“批量修改word裡的圖片大小”的方法需要使用到宏,所以~~最好對VB有所了解!當然~~這不是必需的,只要跟著小一的圖文教程走,不知道什麼是宏,不知道什麼是VB也可以!
這部分要說的是把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
雖然小一的代碼不是好代碼,但確實能解決小一的問題,瞬間就把word文檔裡所有圖片放大了1.1倍,各種公式、坐標軸都比原來清楚多了,
自動批量處理Word中圖片,主要完成的工作是:重置所有圖片,對所有圖片做裁剪。代碼很簡單,但值得記錄,以後可以參考。
For Each iShape In ActiveDocument.InlineShapes '1cm = 28.35 pt Dim pic If iShape.Type = wdInlineShapePicture Then iShape.Reset iShape.PictureFormat.CropTop = 1.5 * 28.345 iShape.PictureFormat.CropBottom = 1.5 * 28.345 iShape.PictureFormat.CropLeft = 1.2 * 28.345 iShape.PictureFormat.CropRight = 1.2 * 28.345 End If Next iShape End Sub