通过使用命令按钮将所有的图片压缩成电子邮件大小的像素(96)PPI。

问题描述 投票:0回答:1

我想通过使用命令按钮将excel工作簿中的所有图片压缩到电子邮件大小像素96(ppi),代码如下。但它不能压缩所有的图片,它只能压缩1张图片。

Sub test()

    Dim wsh As Worksheet

    Set wsh = Worksheets("Sheet1")
    wsh.Activate
    wsh.Shapes(1).Select

    SendKeys "%e", True
    SendKeys "~", True
    Application.CommandBars.ExecuteMso "PicturesCompress"

End Sub
image excel-vba compression
1个回答
0
投票

尝试使用一个 For Each 循环来迭代工作表中的所有形状。

Sub test()

    Dim wsh As Worksheet
    Dim shp As Shape

    Set wsh = Worksheets("Sheet1")

    For Each shp In wsh.Shapes
        shp.Select
        SendKeys "%e", True
        SendKeys "~", True
        Application.CommandBars.ExecuteMso "PicturesCompress"
    Next shp

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.