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

PDF über VB mit Acrobat Reader öffnen etc.

Forumthread: PDF über VB mit Acrobat Reader öffnen etc.

PDF über VB mit Acrobat Reader öffnen etc.
25.11.2003 18:49:55
FrankE
Hallo,

ich möchte gerne PDF-Dateien mit dem Acrobat Reader über VB öffnen (möglichst im Hintergrund) und drucken. Allerdings scheitere ich schon an der 1. Hürde.
Mein Code sieht so aus:



Sub pdfdruck()
Dim PDF1 As PdfLib.Pdf
Datei = "D:\Anleitungen\Acrobat.PDF"
PDF1.src = Datei
End Sub



Dazu habe ich PDF.tlb bzw. PDF.olb (beides schon probiert) als Verweis eingebunden. Mein Editor "reagiert" auch auf die PDFLIB, allerdings bekomme ich beim Ausführen des Makros immer die Meldung
"Objektvariable oder With-Blockvariable nicht festgelegt".

Auch andere Befehle wie .Loadfile ("..") etc. führen zu dieser Meldung.

Mit der Bitte um eure Mithilfe

Frank
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF über VB mit Acrobat Reader öffnen etc.
25.11.2003 22:31:27
Reinhard
Hi Frank,
probier mal:


Sub test()
Datei = "C:\pd6\anleitung.pdf"
Ergeb = Shell("C:\Programme\Adobe\Acrobat 5.0\Reader\AcroRd32.exe " & Datei, vbHide)
'AppActivate Ergeb
SendKeys ("^p")
End Sub


Gruß
Reinhard
Anzeige
;
Anzeige

Infobox / Tutorial

PDF-Dateien mit VBA und Acrobat Reader öffnen und drucken


Schritt-für-Schritt-Anleitung

Um PDF-Dateien mit dem Acrobat Reader über VBA (Visual Basic for Applications) zu öffnen und zu drucken, befolge diese Schritte:

  1. Verweise hinzufügen: Stelle sicher, dass die richtigen Verweise in deinem VBA-Editor eingebunden sind. Du benötigst eventuell die PDF.tlb oder PDF.olb Dateien.

  2. Makro erstellen: Erstelle ein neues Makro in deinem VBA-Editor. Hier ist ein Beispielcode, den du verwenden kannst:

    Sub pdfDrucken()
       Dim Datei As String
       Datei = "D:\Anleitungen\Acrobat.pdf"
       Shell "C:\Programme\Adobe\Acrobat Reader DC\AcroRd32.exe " & Datei, vbHide
       Application.Wait Now + TimeValue("00:00:02") ' Wartezeit für das Laden des Dokuments
       SendKeys "^p" ' Sendet den Druckbefehl
    End Sub
  3. Dateipfad anpassen: Ändere den Dateipfad in der Variable Datei, sodass er auf die von dir gewünschte PDF-Datei zeigt.

  4. Makro ausführen: Führe das Makro aus, um die PDF-Dateien mit dem Acrobat Reader zu öffnen und sie im Hintergrund zu drucken.


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"
    Lösung: Überprüfe, ob die erforderlichen Verweise korrekt hinzugefügt wurden. Oftmals kann es auch helfen, den Code zu vereinfachen und auf Shell-Befehle zurückzugreifen, wie im Beispiel von Reinhard.

  • Fehler: PDF-Dateien werden nicht geöffnet
    Lösung: Stelle sicher, dass der Pfad zur Acrobat Reader-Anwendung korrekt ist. Teste den Pfad manuell im Explorer, um sicherzustellen, dass er funktioniert.


Alternative Methoden

Eine weitere Methode, um PDF-Dateien zu öffnen, besteht darin, die Shell-Funktion in Kombination mit SendKeys zu verwenden, wie im folgenden Beispiel:

Sub test()
    Dim Datei As String
    Datei = "C:\pd6\anleitung.pdf"
    Shell "C:\Programme\Adobe\Acrobat Reader DC\AcroRd32.exe " & Datei, vbHide
    Application.Wait Now + TimeValue("00:00:02")
    SendKeys "^p"
End Sub

Diese Methode ist besonders nützlich, wenn du die PDF-Dateien im Hintergrund öffnen und drucken möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du PDF-Dateien mit Acrobat Reader verwalten kannst:

  • PDF-Wörter zählen mit Acrobat: Wenn du die Anzahl der Wörter in einer PDF-Datei zählen möchtest, kannst du dies nicht direkt mit VBA tun. Du müsstest die PDF zuerst in ein bearbeitbares Format konvertieren oder eine andere Software verwenden, die diese Funktion unterstützt.

  • PDF-Dateien zusammenfügen mit Adobe Reader: Um mehrere PDF-Dokumente zu einem einzigen Dokument zusammenzufügen, benötigst du die Vollversion von Adobe Acrobat, da der Acrobat Reader diese Funktion nicht bietet.


Tipps für Profis

  • Verwende Application.Wait, um sicherzustellen, dass der Acrobat Reader genügend Zeit hat, um die PDF-Datei zu laden, bevor du den Druckbefehl sendest.
  • Halte deinen Acrobat Reader auf dem neuesten Stand, um Kompatibilitätsprobleme zu vermeiden.
  • Experimentiere mit SendKeys, um andere Tastenkombinationen zu automatisieren, wie das Schließen von Fenstern oder das Speichern von Dokumenten.

FAQ: Häufige Fragen

1. Welche Version des Acrobat Readers benötige ich?
Du kannst jede Version des Acrobat Readers verwenden, die die grundlegenden Funktionen zum Öffnen und Drucken von PDF-Dateien unterstützt. Die oben genannten Beispiele beziehen sich auf Acrobat Reader DC.

2. Kann ich auch PDF-Dateien mit VBA zusammenfügen?
Mit reinen VBA-Mitteln ist das nicht direkt möglich. Du benötigst eine externe Bibliothek oder Software, um PDF-Dateien zusammenzufügen, da der Acrobat Reader diese Funktion nicht unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige