问题: 将PDF嵌入到Excel工作簿中。 此PDF是一个反馈表单,其中包含发送到邮件收件人按钮。 如果没有将其嵌入到Excel发送工作中,则嵌入式发送会导致Excel崩溃。
我的想法是打开OLEObject,保存嵌入的PDF临时,关闭OLEObject 并打开已保存的PDF,以便它在Acrobat实例中运行。 打开OLEObject已经可以使用:
ThisWorkbook.Sheets(SheetName).Shapes(OLE_Name).Select
Selection.Verb Verb:=xlOpen
但我正在努力完成以下步骤。 这该怎么做? 可能的其他方式?
WIN7,Office 2010,Acrobat Reader
答案 0 :(得分:0)
行。众所周知,OLEObjects难以使用。我做了一些搜索,因为似乎很难相信这不受支持。这是我第一次尝试使用Shell
命令复制OLE并将其粘贴到已知目录。
但是,您无法复制/粘贴PDF嵌入对象,这意味着您无法使用Shell
命令将其复制/粘贴到临时文件夹/文件路径。所以这不会起作用。
共识似乎是这不可能;你可以用嵌入式PDF做的就是打开它们。请参阅此PDF的here和here说明:
参见" AxAcroPDFLib.AxAcroPDF" OLE自动化下的部分。这些是您从Reader
中可以使用的唯一方法
而且,here:
你所做的事情依赖于你知道如何与特定的类进行交互,如果你只有几种类型并且知道它们是什么,那么可能没问题,除非(a)类支持自动化和(b)你知道发出这个命令的命令是行不通的。
该课程并不真正支持您想要的那种自动化。
可能的解决方案
使用Acrobat和WinAPI
如果您安装了Acrobat,那么我相信您可以使用WinAPI来获取Acrobat实例的hWnd,并以这种方式控制它。 I have perused some documentation,但我没有Acrobat,所以我无法测试。