使用 VBA 或 VSTO 从 PowerPoint 演示文稿中提取嵌入的 pdf



我需要在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形状本身就可以完成这项工作。

最新更新