2016-12-22 14 views
3

Ich bin Excel 2016 ausgeführt, und bin mir nicht sicher, ob ich ein einfaches Kompatibilitätsproblem oder was ist, hoffentlich kann jemand mir helfen, eine Lösung zu finden oder vorschlagen ...VBA Excel, PDF in UserForm anzeigen

Kurz gesagt, ich versuche, ein PDF, eingebettet in einem UserForm in Excel anzuzeigen.

Ich habe ein UserForm, sagen UserForm1.

I aktiviert haben folgende zusätzliche Referenzen:

Microsoft Visual Basic for Applications Extensibility 5.3

Adobe Acrobat Browser Control Type Library 1.0

Dies ermöglicht es mir, die Adobe PDF Reader als "Zusatz Control"

enter image description here

Die Steuerung hinzufügen erscheint als schraffiertes Kästchen (unten) links), wozu ich nicht sicher bin. Dann, wenn ich versuche, eine dieser Aufgaben zu UserForm1 (sowohl programmatisch und in der Entwurfsansicht) hinzuzufügen, es ist mir ein Fehler

Element nicht

Als Referenz werden die entsprechenden Zeilen von VBA ich fand, war Verwendung waren:

Dim PDFviewer As AcroPDF 
Set PDFviewer = PDForm.Frame1.Controls.Add("AcroPDF.PDF.1") 

Was ich von diesem Adobe Forenthread nahm: https://forums.adobe.com/thread/1065554

Ressourcen online Es könnte sein, dass das AcroPDF-Steuerelement nicht mehr unterstützt wird. Wenn ja, gibt es einen anderen Weg, um zu erreichen, was ich will?

Dank

+1

Eine Alternative könnte sein, zu versuchen, ist ein Browser-Steuerelement hinzufügen und dann Iframe verwenden, um das PDF anzuzeigen. – cyboashu

+0

Ich muss in das Browser-Steuerelement schauen, von der Erwähnung eines IFrame, ich denke, das wird dann durch HTML manipuliert? – Wolfie

+0

Ja, Sie werden eine HTML-Zeichenfolge im Flyy mit dem PDF-Pfad erstellen und in das Dokument des Browser-Steuerelements schreiben. – cyboashu

Antwort

6

Als Alternative zum AcroPDF zu verwenden, versuchen Sie das WebBrowser Objekt.

Es erfordert, einschließlich der zusätzlichen Steuer

Microsoft Web Browser

hinzufügen unterliegt die auf dem Benutzerformular namens 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 

Sie können nur .Navigate zum PDF direkt, aber mein Kommentar zu zitieren:

"Es ist sicherer, den HTML-Teil zu verwenden, dep In den Geräteeinstellungen endet manchmal die direkte Navigation, statt die Anzeige zu laden. "

Verwandte Themen