Image 如何通过VBA将Powerpoint 2013中的嵌入图像保存到本地磁盘?
我在Microsoft Powerpoint 2013演示文稿中嵌入了很多图片。在Powerpoint 2013中,我可以右键单击图片对象,然后使用“另存为图片”将图像保存到本地磁盘。但这是手动方式。我想知道是否有任何方法可以通过VBA实现自动化?我能够循环浏览Shapes集合,然后确定对象的类型。但我无法找出哪些属性或方法与将图片存储到本地磁盘相关?下面是遍历Shapes集合并确定该形状是否为msoPicture类型的代码片段Image 如何通过VBA将Powerpoint 2013中的嵌入图像保存到本地磁盘?,image,vba,powerpoint,Image,Vba,Powerpoint,我在Microsoft Powerpoint 2013演示文稿中嵌入了很多图片。在Powerpoint 2013中,我可以右键单击图片对象,然后使用“另存为图片”将图像保存到本地磁盘。但这是手动方式。我想知道是否有任何方法可以通过VBA实现自动化?我能够循环浏览Shapes集合,然后确定对象的类型。但我无法找出哪些属性或方法与将图片存储到本地磁盘相关?下面是遍历Shapes集合并确定该形状是否为msoPicture类型的代码片段 For currentSlideIndex = 1 To to
For currentSlideIndex = 1 To totalSlidesCount
Set currentSlide = ActivePresentation.Slides(currentSlideIndex)
For Each mediaShape In currentSlide.Shapes
mediaCounter = mediaCounter + 1 'for each shape in the slide
If currentSlideIndex = 3 Then
If mediaShape.Type = msoPicture Then
MsgBox ("Shape Type Picture is " + CStr(mediaShape.Type) )
End If
End If
Next mediaShape
mediaCounter = 0 'Reset to 0 for the new slide
Next
可以使用形状的.export方法将当前形状导出到图片 这通常是隐藏的,因此默认情况下您不会获得intellisense帮助,因此: 进入IDE 按F2键打开对象浏览器 在类右侧的窗格中单击鼠标右键,在顶部可以看到“成员…”。 选中“显示隐藏成员”旁边的复选框 现在,您将在幻灯片形状上键入.导出时获得intellisense指导 还请注意,如果形状为类型14(占位符),则它可以包含图片,因此您可能需要添加以下内容:
If mediaShape.Type = msoPlaceholder Then
If mediaShape.PlaceholderFormat.ContainedType = msoPicture Then
' it's also a picture
End If
End if
为了增加更多的娱乐价值,您可能还有.Type=msoLinkedPicture,甚至在某些情况下,msoEmbeddedOLEObject恰好是一张图片