我想通过使用命令按钮将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
尝试使用一个 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