我正在运行Excel 2016,并且我不确定我是否有简单的兼容性问题或者什么,希望有人可以帮我找到修复或建议替代方案...
简而言之,我正在尝试在Excel中显示嵌入在UserForm中的PDF。
我有一个UserForm,比如UserForm1
。
我已启用以下额外参考:
Microsoft Visual Basic for Applications Extensibility 5.3
Adobe Acrobat Browser Control Type Library 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控件。如果是这样,还有另一种方法可以达到我的目的吗?
由于
答案 0 :(得分:7)
作为使用AcroPDF
的替代方法,请尝试使用WebBrowser
对象。
它需要包含附加控件
Microsoft Web Browser
在名为WebBrowser1
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,但是,引用我的评论:
&#34;使用html部分更安全,具体取决于机器设置,有时直接导航会启动下载而非显示。&#34;