2

我得到包含图像的 word 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%。

4

1 回答 1

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
于 2012-09-06T21:57:28.627 回答