我正在运行 Excel 2016,如果以下是兼容性问题,这可能是相关的...
简而言之,我正在尝试显示嵌入在 Excel 中的用户窗体中的 PDF。
我有一个用户表单,例如UserForm1
。
我启用了以下额外引用:
- Microsoft Visual Basic for Applications 扩展性 5.3
- Adobe Acrobat 浏览器控件类型库 1.0
这允许我将 Adobe PDF Reader
添加为“附加控件”
该控件显示为阴影框图标(左下角),我不确定它的意思。然后,如果我尝试将这些对象之一添加到 UserForm1
(以编程方式和在设计 View 中),则会出现错误
Element not found
作为引用,我使用的 VBA 的相关行是:
Dim PDFviewer As AcroPDF
Set PDFviewer = PDForm.Frame1.Controls.Add("AcroPDF.PDF.1")
这是我从 Adobe 论坛主题中获取的:https://forums.adobe.com/thread/1065554
在线资源表明 AcroPDF 控件可能不再受支持。如果是这样,还有其他方法可以实现我想要的吗?
最佳答案
作为使用 AcroPDF
的替代方案,请尝试使用 WebBrowser
对象。
它需要包括额外的控制
微软网络浏览器
在用户窗体上添加一个名为 WebBrowser1
的 WeBrowser
Private Sub UserForm_Click()
Me.WebBrowser1.Navigate "about:blank"
Me.WebBrowser1.Document.write "<HTML><Body><embed src=""C:\temp\SO_Answers\test.pdf"" width=""100%"" height=""100%"" /></Body></HTML>"
End Sub
您可以直接.Navigate
到PDF,但是,引用我的评论:
“使用 html 部分更安全,具体取决于机器设置,有时直接导航会启动下载而不是显示。”
关于excel - 在 Excel VBA 用户窗体中显示 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41292195/