VBA Excel,在UserForm中显示PDF
我正在运行Excel 2016,并不知道如果我有一个简单的兼容性问题或什么,希望有人可以帮我find一个修复或build议一个替代…
总之,我试图显示一个PDF,embedded在Excel中的用户窗体。
我有UserForm,说UserForm1
。
我已经启用了以下额外的参考:
Microsoft Visual Basic for Applications Extensibility 5.3
Adobe Acrobat Browser Control Type Library 1.0
这使我可以添加Adobe PDF Reader
作为“附加控制”
该控件显示为一个阴影框图标(左下angular),我不知道它的意思。 然后,如果我尝试将这些对象中的一个添加到UserForm1
(以编程方式和在devise视图中)它给我一个错误
元素未find
作为参考,我使用的VBA的相关行是:
Dim PDFviewer As AcroPDF Set PDFviewer = PDForm.Frame1.Controls.Add("AcroPDF.PDF.1")
我从这个Adobe论坛的主题: https : //forums.adobe.com/thread/1065554
资源在线表明可能不再支持AcroPDF控件。 如果是这样,还有另一种方法来实现我想要的?
谢谢
作为使用AcroPDF
的替代方法,请尝试使用WebBrowser
对象。
它需要包括额外的控制
Microsoft Web Browser
在名为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部分更安全,这取决于机器设置,有时直接导航将启动下载而不是显示。”