Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
soll das in der Excel Tabelle eingebettet werden (sprich in eine Zelle) oder kann es z.B. Via VBA und UserForm angezeigt werden?
PDF per VBA in ein Excel-Blatt „in eine Zelle“ einfügen
Sub PDF_Einfuegen()
Dim ws As Worksheet
Dim rng As Range
Dim pfad As String
Dim obj As OLEObject
Set ws = ActiveSheet
Set rng = ws.Range("B2")
pfad = "C:\Temp\Test.pdf"
Set obj = ws.OLEObjects.Add( _
Filename:=pfad, _
Link:=False, _
DisplayAsIcon:=True)
With obj
.Top = rng.Top
.Left = rng.Left
.Width = rng.Width
.Height = rng.Height
.Placement = xlMoveAndSize
End With
End Sub
Mit DisplayAsIcon:=True wird die PDF als Symbol eingebettet. Mit False kann je nach System eine Vorschau erscheinen, ist aber nicht zuverlässig.
PDF in einer UserForm anzeigen:
Direkt mit Standard-VBA-Steuerelementen geht das nicht sauber. Praktische Varianten:
Extern öffnen:
Sub PDF_Oeffnen()
ThisWorkbook.FollowHyperlink "C:\Temp\Test.pdf"
End Sub
PDF in UserForm über WebBrowser-Control anzeigen
Das funktioniert oft, hängt aber stark von Windows/Office/Adobe/Edge-WebView-Konfiguration ab.
Private Sub UserForm_Initialize()
Me.WebBrowser1.Navigate "C:\Temp\Test.pdf"
End Sub
Dafür brauchst du auf der UserForm ein WebBrowser-Control. Das kann aber seit Edge Probleme machen, vor allem wenn die IE.Engine nicht mehr an Board ist
Hier kann das
Edge WebView2
Abhilfe schaffen.
PDF vorher in Bilder umwandeln
Private Sub UserForm_Initialize()
Me.Image1.Picture = LoadPicture("C:\Temp\Seite1.jpg")
End Sub
hier vorher Screenschots/PDF in Bilder umwandeln, diese aufrufen