Я использую VBA в PowerPoint. Я пытаюсь сжать оригинальные файлы изображений из указанной папки в меньший размер. Я смог добиться этого. Однако я хочу сохранить новое сжатое изображение в папке назначения.
Следующий код сохранит презентацию или слайд с изображением. Но я хочу только картинку. Я почти уверен, что должен использовать 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