2011-01-18 1 views
1

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

Powerpoint VBA - неправильный инструмент для работы. В Интернете доступно большое количество бесплатных объемных изображений. – SLaks

ответ

1

Благодаря @JSRWilson на следующий ответ:

«Вы должны правой кнопкой мыши в View> Browser Object >> Показывать скрытые членов Предполагая objPic еще ссылка на сжатый рис

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

+0

вы можете поставить галочку напротив галочки рядом с этим ответом, чтобы принять ее. –