我在PowerPoint中使用vba。我正在尝试将原始图片文件从指定文件夹压缩到较小的大小。我能够做到这一点。但是,我想将新的压缩图片保存到目标文件夹中。
以下代码将保存演示文稿或幻灯片与图片。但我只想要这张照片。我很确定我必须使用ActivePresentation.SaveAs
。但它只会让我保存幻灯片。如何单独保存图片&不是幻灯片?
另外,当我尝试保存修改后的图片时,我似乎还有另一个问题。它将演示文稿保存到目标文件夹中,文件名为“Slide1.bmp”。知道为什么&我怎么能改变这个?
Dim strSrcPath As String, strDestPath As String
Dim strSrcPic As String
Dim objPic As Shape
Dim x as Integer
strSrcPath = "C:\Temp\Pics\In\"
strDestPath = "C:\Temp\Pics\Out\"
strSrcPic = Dir(strSrcPath)
Do While strSrcPic <> ""
x = x + 1
Set objPic = ActiveWindow.Selection.SlideRange.Shapes.AddPicture(FileName:=strSrcPath & strSrcPic, _
LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=0, Top:=0, Width:=100, _
Height:=100)
With objPic
.ScaleHeight 1, msoTrue
.ScaleWidth 1, msoTrue
End With
objPic.Select
ActivePresentation.SaveAs _
FileName:=strDestPath & "ModPicture(" & x & ").bmp", _
FileFormat:=ppSaveAsBMP, EmbedTrueTypeFonts:=msoFalse
objPic.Delete
strSrcPic = Dir 'Get next entry.
Loop
答案 0 :(得分:1)
感谢@JSRWilson做出以下回应:
“您必须右键单击视图&gt;对象浏览器&gt;&gt;显示隐藏成员 假设objPic仍然是对压缩pic的引用
objPic.Export(strDestPath & "& "ModPicture(" & x & ").bmp", ppSaveAsBMP)
“