用于将word文档中的所有图像缩放到100%的脚本

时间:2012-09-04 08:38:48

标签: ms-word word-vba

我得到包含图像的2010年文件。现在由于某种原因,这些图像缩放到133%。

现在我正在寻找一种方法来迭代文档中的所有图像并将它们缩放到100%。我找到了这个脚本,但它不起作用(我对字宏没有任何线索,所以我不知道为什么):

Sub AllGraphicsTo100() 

  Dim ILS As Word.InlineShape 
  Dim SHP As Word.Shape 

  For Each ILS In ActiveDocument.InlineShapes 
    If ILS.Type = wdInlineShapePicture Then 
        ILS.ScaleHeight = 100 
        ILS.ScaleWidth = 100 
    End If 
  Next ILS 

  For Each SHP In ActiveDocument.Shapes 
    If SHP.Type = msoPicture Then 
        SHP.ScaleHeight 1#, True 
        SHP.ScaleWidth 1, True 
    End If 
  Next SHP 

End Sub

此外,如果图像比列宽,我想缩放它们以适应列的宽度,而不是100%。

1 个答案:

答案 0 :(得分:4)

您的图片可能是链接的,而不是嵌入的。您可以修改宏以包括链接的图像,如下所示:

    Sub AllGraphicsTo100()

      Dim ILS As Word.InlineShape
      Dim SHP As Word.Shape

      For Each ILS In ActiveDocument.InlineShapes
        If ILS.Type = wdInlineShapePicture Or ILS.Type = wdInlineShapeLinkedPicture Then
            ILS.ScaleHeight = 100
            ILS.ScaleWidth = 100
        End If
      Next ILS

      For Each SHP In ActiveDocument.Shapes
        If SHP.Type = msoPicture Or SHP.Type = msoLinkedPicture Then
            SHP.ScaleHeight 1#, True
            SHP.ScaleWidth 1, True
        End If
      Next SHP

    End Sub