私はExcel2016を実行していますが、以下が互換性の問題である場合に関連する可能性があります...
要するに、Excelのユーザーフォームに埋め込まれたPDFを表示しようとしています。
UserForm1
というユーザーフォームがあります。
次の追加の参照を有効にしました。
これにより、Adobe PDF Reader
を「追加のコントロール」として追加できます。
コントロールはハッチングされたボックスアイコン(左下)として表示されますが、それが意図されているかどうかはわかりません。次に、これらのオブジェクトの1つをUserForm1
に(プログラムとデザインビューの両方で)追加しようとすると、エラーが発生します。
要素が見つかりません
参考までに、私が使用していた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
PDFに直接.Navigate
することができますが、私のコメントを引用すると:
"マシンの設定によっては、html部分を使用する方が安全です。場合によっては、直接ナビゲーションによって表示ではなくダウンロードが開始されます。"