Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform und pdf

Userform und pdf
25.01.2018 09:27:50
Thomas
Hallo
Ich möchte in einer Userform mir im linken Bereich eine PDF anzeigenlassen.
Dabei würde ich gern einen Commandbutton nutzen, um die PDF auszuwählen.
Vielleicht den Pfad, in der die pdf*s liegen, schon einmal vorgeben, "U://Ordner1/Ordner2/"
Wie kann ich das umsetzen?
Da ich wenig Erfahrung mit VBA habe, wäre ich über Hilfe sehr dankbar.
Schöne Grüße
Thomas
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform und pdf
25.01.2018 09:47:56
Werner
Hallo Thomas,
ein Code von Sepp auf deine Bedürfnisse angepasst.
1. Userform mit Commandbutton anlegen
2. Web-Browser-Element benutzen
-dazu Rechtsklick in die Toolsammlung der Userform
-Microsoft Web Browser in der Liste anhaken
3. Web-Browser-Element aus der Toolsammlung auf die Userform
Folgenden Code ins Codemodul des Commandbutton
Private Sub CommandButton1_Click()
Dim strFile As String
ChDir "U://Ordner1/Ordner2/"
strFile = Application.GetOpenFilename("PDF Dateien (*.pdf),*pdf")
If strFile = "Falsch" Then Exit Sub
WebBrowser1.Navigate strFile
End Sub
Der Ordner sowie der Unterordner muss im Laufwerg U natürlich schon angelegt sein.
Gruß Werner
Anzeige
AW: Userform und pdf
25.01.2018 09:54:18
ChrisL
Hi
Wie Werner schon schreibt. Evtl. noch ChDrive ergänzen.
cu
Chris
Private Sub CommandButton1_Click()
Dim varFile As Variant
ChDrive "C:\"
ChDir "C:\Pfad"
varFile = Application.GetOpenFilename("PDF Dateien (*.pdf),*pdf")
If varFile = False Then Exit Sub
WebBrowser1.Navigate varFile
End Sub

Anzeige
AW: Userform und pdf
25.01.2018 10:12:29
Thomas
Prima, vielen Dank für die Hilfe.
Kann man auch, über diesen Commandbutton einen weiteren Befehl ausführen?
Die Datei die ich auswähle zb. Test.pdf gibt es auch als Test.xls.
Wenn ich also die pdf öffne, er automatisch aus der dazugehörigen .xls Datei mir bestimmte Textfelder in der Userform ausfüllt?
Danke für Eure Hilfe
Anzeige
AW: Userform und pdf
25.01.2018 11:09:04
fcs
Hallo Thomas,
wen Pfad und Dateiname bis auf die Dateiendung identisch sind, dann geht es so:
Private Sub CommandButton1_Click()
Dim strFile As String, wbk As Workbook
'ChDir "U://Ordner1/Ordner2/"
strFile = Application.GetOpenFilename("PDF Dateien (*.pdf),*pdf")
If strFile = "Falsch" Then Exit Sub
WebBrowser1.Navigate strFile
Application.ScreenUpdating = False
Set wbk = Application.Workbooks.Open(Filename:=Left(strFile, Len(strFile) - 3) & "xls", _
ReadOnly:=True)
Me.TextBox1 = wbk.Worksheets(1).Range("A1").Text
wbk.Close Savechanges:=False
Application.ScreenUpdating = True
End Sub

Fall in deiner Excel-Datei Ereignismakros vorhanden sind, dann Ereignismakros ebenfalls vorübergehend deaktivieren.
Gruß
Franz
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

PDF-Anzeige in einer Userform mit Excel VBA


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne Excel und erstelle eine neue Userform.

  2. CommandButton hinzufügen: Füge einen CommandButton zu deiner Userform hinzu.

  3. Web-Browser-Element einfügen:

    • Klicke mit der rechten Maustaste auf die Toolbox der Userform.
    • Aktiviere das "Microsoft Web Browser"-Element, um es in der Toolbox anzuzeigen.
    • Ziehe das Web-Browser-Element auf deine Userform.
  4. VBA-Code einfügen: Doppelklicke auf den CommandButton und füge folgenden Code ein:

    Private Sub CommandButton1_Click()
       Dim strFile As String
       ChDir "U://Ordner1/Ordner2/"
       strFile = Application.GetOpenFilename("PDF Dateien (*.pdf),*pdf")
       If strFile = "Falsch" Then Exit Sub
       WebBrowser1.Navigate strFile
    End Sub
  5. Speichern und Testen: Speichere deine Excel-Datei und teste die Userform, um sicherzustellen, dass die PDF korrekt angezeigt wird.


Häufige Fehler und Lösungen

  • Fehler beim Öffnen der Datei: Stelle sicher, dass der angegebene Pfad existiert. Das Verzeichnis "U://Ordner1/Ordner2/" muss vorhanden sein.
  • Web-Browser-Element nicht sichtbar: Überprüfe, ob das "Microsoft Web Browser"-Element korrekt in der Toolbox aktiviert ist.
  • PDF wird nicht angezeigt: Vergewissere dich, dass der PDF-Viewer auf deinem Computer installiert ist und funktioniert.

Alternative Methoden

Eine alternative Methode zur Anzeige von PDFs in einer Userform könnte die Verwendung einer anderen Programmiersprache oder eines Add-ins sein. Beispielsweise könntest du eine Kombination aus Excel und einer externen PDF-Bibliothek verwenden, um mehr Kontrolle über die Darstellung zu erhalten.


Praktische Beispiele

Hier ist ein erweitertes Beispiel, das zusätzlich zu der PDF-Anzeige auch eine Excel-Datei öffnet und bestimmte Textfelder in der Userform ausfüllt:

Private Sub CommandButton1_Click()
    Dim strFile As String, wbk As Workbook
    strFile = Application.GetOpenFilename("PDF Dateien (*.pdf),*pdf")
    If strFile = "Falsch" Then Exit Sub
    WebBrowser1.Navigate strFile
    Application.ScreenUpdating = False
    Set wbk = Application.Workbooks.Open(Filename:=Left(strFile, Len(strFile) - 3) & "xls", _
    ReadOnly:=True)
    Me.TextBox1 = wbk.Worksheets(1).Range("A1").Text
    wbk.Close Savechanges:=False
    Application.ScreenUpdating = True
End Sub

In diesem Beispiel wird die PDF-Datei angezeigt und gleichzeitig die zugehörige Excel-Datei geöffnet. Dabei wird der Inhalt von Zelle A1 in ein Textfeld der Userform übertragen.


Tipps für Profis

  • Ereignismakros deaktivieren: Wenn in deiner Excel-Datei Ereignismakros vorhanden sind, deaktiviere sie vorübergehend, um Konflikte zu vermeiden.
  • ChDrive verwenden: Füge ChDrive vor ChDir hinzu, um sicherzustellen, dass das richtige Laufwerk ausgewählt ist.
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung im Code, um unerwartete Fehler abzufangen und benutzerfreundliche Meldungen anzuzeigen.

FAQ: Häufige Fragen

1. Wie kann ich eine PDF-Datei in einer Userform anzeigen?
Du kannst eine Userform mit einem Web-Browser-Element erstellen und den entsprechenden VBA-Code verwenden, um die PDF anzuzeigen.

2. Funktioniert dieses Beispiel in allen Excel-Versionen?
Die Anweisungen und der Code sind in der Regel für Excel 2010 und höher geeignet. Stelle sicher, dass du die entsprechenden Berechtigungen für Makros hast.

3. Kann ich mehrere PDFs nacheinander anzeigen?
Ja, du kannst den Code so anpassen, dass er eine Schleife beinhaltet, um mehrere PDFs nacheinander anzuzeigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige