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部分更安全,这取决于机器设置,有时直接导航将启动下载而不是显示。”