PowerPoint VBA:如何以特定文件格式保存图片&不是整个演讲?

时间:2011-01-18 17:58:11

标签: vba powerpoint powerpoint-vba

我在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

1 个答案:

答案 0 :(得分:1)

感谢@JSRWilson做出以下回应:

“您必须右键单击视图&gt;对象浏览器&gt;&gt;显示隐藏成员 假设objPic仍然是对压缩pic的引用

objPic.Export(strDestPath & "& "ModPicture(" & x & ").bmp", ppSaveAsBMP)