【发布时间】:2017-05-08 14:43:22
【问题描述】:
我正在运行 Excel 2016,如果以下是兼容性问题,这可能是相关的...
简而言之,我正在尝试显示嵌入在 Excel 中的用户窗体中的 PDF。
我有一个用户窗体,比如UserForm1。
我已启用以下额外引用:
- Microsoft Visual Basic for Applications 可扩展性 5.3
- Adobe Acrobat 浏览器控件类型库 1.0
这允许我将Adobe PDF Reader 添加为“附加控件”
该控件显示为一个阴影框图标(左下角),我不确定它是否意味着。然后,如果我尝试将这些对象之一添加到 UserForm1(以编程方式和设计视图),它会给我一个错误
找不到元素
作为参考,我使用的 VBA 的相关行是:
Dim PDFviewer As AcroPDF
Set PDFviewer = PDForm.Frame1.Controls.Add("AcroPDF.PDF.1")
我从这个 Adobe 论坛帖子中获取的内容:https://forums.adobe.com/thread/1065554
在线资源表明可能不再支持 AcroPDF 控件。如果是这样,还有其他方法可以实现我想要的吗?
【问题讨论】:
-
另一种方法是尝试添加浏览器控件,然后使用 Iframe 显示 PDF。
-
我将不得不查看浏览器控件,从提到 IFrame 开始,我想这会通过 HTML 进行操作?
-
是的,您将使用 pdf 路径即时创建一个 html 字符串并写入浏览器控件的文档。
-
太棒了!原来我什至不需要任何 HTML,可以直接使用
BrowserControl.Navigate <path>命令引用 PDF 的路径。感谢您的建议! -
很好,但是使用 html 部分是安全的,取决于机器设置,有时直接导航会启动下载而不是显示。罕见的网页浏览器控件仍然是 IE7,但可能。加上 2 行代码并没有那么多工作:)