Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verweis Fehler bei pdf-Formlare mit Excel ausfülle

Forumthread: Verweis Fehler bei pdf-Formlare mit Excel ausfülle

Verweis Fehler bei pdf-Formlare mit Excel ausfülle
01.07.2016 19:36:49
Börni
Hallo zusammen!
Ich hoffe von euch kann mir jemand helfen.
Ich möchte mehrere personalisierte pdf-Formulare erstellen.
Über den Acrobat Pro DC habe ich die Möglichkeit Worddokumente in ein ausfüllbares Formular umzuwandeln, jedoch geht das immer nur mit einer Datei und ggf. muss man auch etwas nacharbeiten wenn Felder nicht erkannt werden. Bei mehreren Dateien, wird das echt viel Aufwand.
Nun bin ich auf die Variante gekommen, das Ganze über Excel zu realisieren.
In diesem Forum bin ich bereits auf den Code unten gestoßen, kann ihn jedoch nicht testen, da die Verweise Probleme machen.
Ich bekomme eine Fehlermeldung wenn ich die Datei "AcroRd32.dll" als Verweis setzen möchte. Alternativ habe ich die Datei "AcroRd32Res.dll" als Verweis gesetzt. Das geht, jedoch erhalte ich dann beim Ausführen des Makros folgenden Fehler:
Laufzeitfehler '-2147319779 (8002801d)':
Automatisierungsfehler
Bibliothek nicht registriert

Vermutlich spreche ich die Datei falsch an, weiß nur leider nicht was ich ändern muss.
Kann mir jemand helfen? Danke schonmal!
Code:
Public Sub Fill_PDF_Form()
'Verweise gesetzt?
'Adobe Acrobat 10.0 Type Library
'(in C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.dll)
'AFormAut 1.0 Type Library
'(C:\Program Files (x86)\Adobe\Reader 10.0\Reader\plug_ins\AcroForm.api)
Dim gApp As Acrobat.CAcroApp
Dim AvDoc As Acrobat.CAcroAVDoc
Dim gPDDoc As Acrobat.CAcroPDDoc
Const DOC_FOLDER As String = "C:\Test"
Dim x As Boolean
Dim sDoc As Object
Set gApp = CreateObject("AcroExch.App")
Set gPDDoc = CreateObject("AcroExch.PDDoc")
Set AvDoc = CreateObject("AcroExch.AVDoc")
Dim FormApp As AFORMAUTLib.AFormApp
Dim AcroForm As AFORMAUTLib.Fields
Dim Field As AFORMAUTLib.Field
x = AvDoc.Open(DOC_FOLDER & "\TestFormular.pdf", "")
'gApp.Show
Set FormApp = CreateObject("AFormAut.App")
With FormApp
.Fields("Firma").Value = Sheets(1).Cells(2, 1)
End With
'gApp.Hide
AvDoc.PrintPages 0, 1, 2, 1, 1
Set sDoc = AvDoc.GetPDDoc
saveOk = sDoc.Save(1, DOC_FOLDER & "\OK_Anmeldung.pdf")
AvDoc.Close (1)
gApp.Exit
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verweis Fehler bei pdf-Formlare mit Excel ausfülle
05.07.2016 18:58:55
Jürgen
Hallo Börni,
mit den .dll-Dateien des Readers funktioniert es nicht, diese lassen sich über VBA nicht ansprechen. Mit jenen der Vollversion (die Du doch hast?) sollte es gehen.
Wenn Du vorhandene PDF-Formulare aus Excel heraus befüllen möchtest, geht das auch ohne Zugriff auf die Adobe-Bibliotheken. Dazu erzeugst Du .fdf-Dateien - diese enthalten nur die Formulardaten und sind reine Textdateien. Wenn Du die Vollversion hast, dann nutze die Exportfunktion für Formulardaten, um ein Muster zu erhalen. Zudem könnte das Tool "PDFtk" (Freeware) helfen, z. B. wenn Du die ausgefüllten Formulare in PDF-Dateien ohne Formularfunktion speichern möchtest.
Ich hoffe, das hilft Dir weiter, auch wenn noch etwas Recherche notwenig ist, um zum Ziel zu gelangen.
Gruß, Jürgen
Anzeige
;
Anzeige

Infobox / Tutorial

Verweis Fehler bei PDF-Formularen mit Excel beheben


Schritt-für-Schritt-Anleitung

  1. Verweise hinzufügen: Stelle sicher, dass Du die richtige Version der Adobe Acrobat 10.0 Type Library in Deinen Verweisen hast. Gehe dazu in den VBA-Editor mit ALT + F11, klicke auf Extras > Verweise und suche nach der "Adobe Acrobat 10.0 Type Library".

  2. Code anpassen: Verwende den folgenden VBA-Code, um ein PDF-Formular zu befüllen. Achte darauf, dass Du die richtigen Verzeichnisse und Dateinamen angibst.

    Public Sub Fill_PDF_Form()
       Dim gApp As Acrobat.CAcroApp
       Dim AvDoc As Acrobat.CAcroAVDoc
       Dim gPDDoc As Acrobat.CAcroPDDoc
       Const DOC_FOLDER As String = "C:\Test"
    
       Set gApp = CreateObject("AcroExch.App")
       Set gPDDoc = CreateObject("AcroExch.PDDoc")
       Set AvDoc = CreateObject("AcroExch.AVDoc")
       AvDoc.Open(DOC_FOLDER & "\TestFormular.pdf", "")
    
       ' Hier kannst Du die Formularfelder befüllen
       With FormApp
           .Fields("Firma").Value = Sheets(1).Cells(2, 1)
       End With
    
       AvDoc.PrintPages 0, 1, 2, 1, 1
       gPDDoc.Save 1, DOC_FOLDER & "\OK_Anmeldung.pdf"
       AvDoc.Close (1)
       gApp.Exit
    End Sub
  3. Makro ausführen: Starte das Makro, um das PDF-Formular automatisch zu befüllen.


Häufige Fehler und Lösungen

  • Automatisierungsfehler: Wenn Du den Fehler Laufzeitfehler '-2147319779 (8002801d)' erhältst, bedeutet das, dass die gewünschte Bibliothek nicht korrekt registriert ist. Stelle sicher, dass Du die richtige Adobe Acrobat-Version verwendest. Überprüfe auch, ob Du die Adobe Acrobat Pro DC Vollversion installiert hast.

  • Verweis auf AcroRd32.dll: Diese DLL kann nicht für VBA verwendet werden. Stelle sicher, dass Du die Vollversion DLLs wie "AcroExch.dll" verwendest.


Alternative Methoden

Wenn Du keine Zeit oder Ressourcen hast, um die oben genannten Schritte auszuführen, gibt es alternative Methoden:

  • PDFtk: Ein kostenloses Tool, das Dir hilft, PDF-Formulare zu erstellen und zu bearbeiten, ohne die Adobe-Bibliotheken zu benötigen. Mit PDFtk kannst Du Felder aus einem FDF-Dokument importieren.

  • FDF-Dateien: Generiere FDF-Dateien, die nur die Formulardaten enthalten. Diese Dateien sind einfach zu erstellen und können ohne Adobe-Bibliotheken verwendet werden.


Praktische Beispiele

Hier ist ein einfaches Beispiel zur Verwendung der CreateObject-Methode:

Dim gApp As Object
Set gApp = CreateObject("AcroExch.App")

Dies ist der erste Schritt, um die Acrobat-Objekte zu verwenden. Achte darauf, dass Du die korrekten Objekte für das Ausfüllen von PDF-Formularen verwendest.


Tipps für Profis

  • VBA-Referenzen: Halte Deine VBA-Referenzen immer auf dem neuesten Stand, indem Du regelmäßig die neuesten Versionen von Adobe Acrobat herunterlädst.

  • Debugging: Nutze die Debugging-Tools in VBA, um mögliche Probleme frühzeitig zu identifizieren. Setze Haltepunkte und überprüfe Variablen in Echtzeit.

  • Automatisierung optimieren: Wenn Du häufig mit PDF-Formularen arbeitest, überlege Dir, eine benutzerdefinierte Funktion oder ein Modul zu erstellen, das Du in verschiedenen Projekten wiederverwenden kannst.


FAQ: Häufige Fragen

1. Warum kann ich die Adobe-Bibliotheken nicht ansprechen?
Das könnte daran liegen, dass Du die falsche Version der Adobe Acrobat DLLs verwendest. Stelle sicher, dass Du die Vollversion von Adobe Acrobat Pro DC installiert hast.

2. Wie kann ich ein ausfüllbares PDF ohne Adobe Acrobat erstellen?
Du kannst Tools wie PDFtk verwenden, um ausfüllbare PDF-Formulare zu erstellen und zu bearbeiten. Alternativ kannst Du FDF-Dateien verwenden, um Daten in PDF-Formulare zu importieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige