我需要在PowerPoint文件中提取嵌入的(没有链接)pdf文档。我可以使用ActiveSheet.OLEObjects和检查ProgID从Excel中提取嵌入文件。然后我将其复制到剪贴板并保存,如此处所述但由于某种原因,我在PowerPoint中找不到与Excel.OleObject等效的等效物。我认为最接近的是shape.OLEFormat.Object
属性,但它不支持复制方法。我检查了这个,但如果可能的话,我需要 VBA 解决方案。
做的是使用DoVerb打开嵌入的PDF:
ActivePresentation.Slides(1).Shapes(1).OLEFormat.DoVerb
从那里开始,您将取决于已安装的软件,以解决使用SendKeys保存文件的问题,或者如果可用,则在Adobe Reader上使用API。
有关此内容的完整讨论,请阅读此处的 MSDN 论坛上的主题:https://social.msdn.microsoft.com/Forums/en-US/235dde1a-13bb-4f07-8eb4-04ef1121a747/export-a-pdf-file-from-powerpoint-with-vba?forum=officegeneral
我不小心注意到复制PowerPoint形状本身就可以完成这项工作。