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

Extract embedded pdf from PowerPoint presentation using VBA or VSTO

我需要提取 PowerPoint 文件中嵌入的(无链接)pdf 文档。我可以使用 ActiveSheet.OLEObjects 从 Excel 中提取嵌入文件并检查 ProgID。然后我将它复制到剪贴板并按照描述保存 here 但出于某种原因,我在 PowerPoint 中找不到等同于 Excel.OleObject 的内容。我认为最接近的是 shape.OLEFormat.Object 属性 但它不支持 Copy 方法。我检查了 this 但如果可能的话,我需要一个 VBA 解决方案。

您需要做的是使用 DoVerb 打开嵌入的 PDF:

ActivePresentation.Slides(1).Shapes(1).OLEFormat.DoVerb

从那里开始,您将根据安装的软件解决使用 SendKeys 保存文件的问题,或者如果可用的话,API 在 Adob​​e Reader.

有关此问题的完整讨论,请阅读 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 形状本身就可以完成这项工作。