Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: PDF Felder mit Exeldaten befüllen

PDF Felder mit Exeldaten befüllen
12.03.2020 07:23:16
Maik
Guten Tag,
ich habe mal eine Frage, wie das so im Forum ist.
Ausgangslage
Ich habe eine Exceldatenbank, in der ich über eine Userform im Zusammenhang mit sverweise Daten in ein Tabellenblatt schreibe.
A1-Z1 Formularnamen
A2-Z2 Formulareinträge
Nun erstelle ich via VBA eine Textdatei, in der ich Zeile 1 mit Tab getrennt schreibe, danach kommt ein Enter und dann Zeile 2 mit Tab getrennt. Damit das PDF erkennt, dass der erste Abschnitt Formularnamen und der zweite Abschnitt die Daten sind.
Ich möchte damit Mietverträge, Anschreiben, Übergabeprotokolle, also alles rund ums Haus, erstellen.
Die Textdatei ist dann elendig lang aber das jeweilige PDF Dokument nimmt sich ja nur die Definierten Feldnamen raus.
Jetzt möchte ich die Textdatei in mein PDF Formular importieren. Das funktioniert auch super. Ich gehe also über Formular vorbereiten - Mehr - Daten Importieren - und wähle meine Textdatei aus. Alle Daten werden auch sauber in den jeweilig vorgesehenen Felder Importiert, weil ich sie vorher dementsprechend benannt habe.
Der Weg mag für mich OK sein, leider ist das zu umständlich für andere.
Am besten wäre natürlich ich klicke in Excel auf Mietvertrag erstellen, wähle über meine Userform Mieter und Objekt aus, klicke dann auf OK und das PDF öffnet sich mit ausgefüllten Felder. Geht das?
Zur Zeit erstellt es beim OK klicken meine TXT und öffnet das PDF. Importieren muss ich umständlich von Hand.
Ich habe gelesen das man mit einem Button im PDF Daten aus einer FDF importieren kann.
Kann man mit VBA eine Gültige FDF aus meinen Daten erstellen? Dann wäre es ja auch nur noch ein klick.
Oder gibt es eine Andere Lösung wie man sowas einfach realisieren kann.
MfG Maik
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Felder mit Exeldaten befüllen
12.03.2020 15:08:10
Maik
So ich habe mir mal Gedanken zum FDF gemacht und was im Internet gefunden, was sogar funktionierte mit ein paar kleinen Änderungen.
Kann das ein erfahrener Programmierer anpassen?
Er erstellt aus einer Excel eine FDF Datei und schreibt die Feldnamen händisch von "Item1 - Item40.
Dann nimmt er die Daten aus Feld A1-A40 und Trägt sie entsprechend der Vorgaben in die Datei.
Was ich möchte ist, dass er anstatt Item1 - Item40 den Inhalt von A1-B1-C1-...bis kein Wert mehr in der reihe steht schreibt.
Dann die Daten aus A2-C2-D2....
bis kein Wert mehr in der reihe steht schreibt.
Beispiel
>
>
usw.
Sub MakeDRFE_VA()
Dim FSO As Object
Dim NewFile As Object
Dim FullPath As String
Dim XMLFileText As String
Dim i, j, k As Integer
FullPath = Application.GetSaveAsFilename(InitialFileName:="Delivery Ticket FE.fdf", FileFilter:= _
"fdf files (*.fdf), *.fdf")
If FullPath = Null Then
GoTo Err:
End If
On Error GoTo Err:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set NewFile = FSO.CreateTextFile(FullPath, 1, 0)
NewFile.Write "%FDF-1.2" & vbNewLine
NewFile.Write "1 0 obj>"
'NewFile.Write ">"
'NewFile.Write ">"
'NewFile.Write ">"
'NewFile.Write ">"
'NewFile.Write ">"
'NewFile.Write ">"
'NewFile.Write ">"
Range("A1").Select
For j = 1 To 40
XMLFileText = ">"
XMLFileText = Replace(XMLFileText, "&", "_")
NewFile.Write XMLFileText & vbNewLine
Next j
NewFile.Write "]" & vbNewLine
NewFile.Write "/F(S:/JobFiles/Blank DR FE.pdf)" & vbNewLine
NewFile.Write ">>" & vbNewLine
NewFile.Write ">>" & vbNewLine
NewFile.Write "endobj" & vbNewLine
NewFile.Write "trailer" & vbNewLine
NewFile.Write ">" & vbNewLine
NewFile.Write "%%EOF"
Err:
End Sub
Dann noch das keine abfrage kommt wo die Datei gespeichert wird. Sonder sie automatisch in dem Ordner der Excel als Daten.fdf gespeichert wird.
Wenn das nicht geht mit festem Pfad also D:/Daten/Daten.fdf.
Ohne Pfadangabe also in dem Ordner der Exceltabelle wäre mir aber lieber.
Anzeige
Mit VBA eine FDF erstellen und speichern
13.03.2020 14:12:10
Maik
Kann das keiner hier etwas angleichen ?
das Beispiel hat er oben nicht richtig übernommen.
Aber ich hoffe man versteht was ich meine, Wenn nicht bitte nachfragen was ich undeutlich erklärt habe.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

PDF Felder mit Exeldaten befüllen


Schritt-für-Schritt-Anleitung

  1. Vorbereitungen treffen: Stelle sicher, dass dein Excel-Dokument die benötigten Daten enthält. Du solltest eine Userform haben, um die Daten auszuwählen. Die Daten sollten in den Zellen A1 bis Z2 eingetragen sein.

  2. VBA-Code zum Erstellen der FDF-Datei: Verwende den folgenden VBA-Code, um eine FDF-Datei zu erstellen:

    Sub MakeDRFE_VA()
       Dim FSO As Object
       Dim NewFile As Object
       Dim FullPath As String
       Dim XMLFileText As String
       Dim j As Integer
    
       FullPath = Application.GetSaveAsFilename(InitialFileName:="Daten.fdf", FileFilter:="fdf files (*.fdf), *.fdf")
       If FullPath = Null Then Exit Sub
       Set FSO = CreateObject("Scripting.FileSystemObject")
       Set NewFile = FSO.CreateTextFile(FullPath, True, False)
       NewFile.Write "%FDF-1.2" & vbNewLine
       NewFile.Write "1 0 obj" & vbNewLine
    
       For j = 1 To 40
           XMLFileText = "/FieldName" & j & " " & Range("A" & j).Value
           NewFile.Write XMLFileText & vbNewLine
       Next j
    
       NewFile.Write "endobj" & vbNewLine
       NewFile.Write "trailer" & vbNewLine
       NewFile.Write "%%EOF"
       NewFile.Close
    End Sub
  3. FDF-Datei in PDF importieren: Nach dem Erstellen der FDF-Datei kannst du diese in dein PDF-Formular importieren. Klicke auf "Formular vorbereiten" in Adobe Acrobat, wähle „Daten importieren“ und lade die FDF-Datei hoch.

  4. PDF automatisch ausfüllen: Um den Prozess zu automatisieren, kannst du einen Button in Excel implementieren, der die FDF-Datei erstellt und das PDF direkt öffnet.


Häufige Fehler und Lösungen

  • Falscher Dateipfad: Achte darauf, dass der Pfad zur PDF-Datei korrekt ist, wenn du die FDF-Datei erstellst. Wenn die PDF nicht gefunden wird, wird das Formular nicht ausgefüllt.

  • Leere Felder im PDF: Stelle sicher, dass die Feldnamen in der FDF-Datei exakt mit den Feldnamen im PDF übereinstimmen. Kleinste Unterschiede führen dazu, dass die Daten nicht korrekt importiert werden.

  • VBA-Fehler: Wenn du einen Laufzeitfehler erhältst, überprüfe deinen VBA-Code auf Syntaxfehler oder fehlende Referenzen.


Alternative Methoden

  • PDF-Formular mit Excel erstellen: Du kannst auch das PDF-Formular direkt in Excel erstellen und es anschließend mit VBA ausfüllen. Nutze die Funktion „Daten in PDF importieren“, um die Daten zu übertragen.

  • Excel to FDF Konverter: Es gibt auch Tools, die eine direkte Konvertierung von Excel-Daten in FDF-Dateien ermöglichen, ohne dass du selbst Code schreiben musst.


Praktische Beispiele

  • Mietvertrag erstellen: Du kannst die Userform so anpassen, dass sie spezifische Daten für Mietverträge abfragt und diese direkt in ein PDF-Formular überträgt.

  • Automatisierung von Formularen: Verwende den VBA-Code, um regelmäßig benötigte Dokumente wie Übergabeprotokolle oder Anschreiben automatisch zu erstellen und auszufüllen.


Tipps für Profis

  • Feldnamen standardisieren: Achte darauf, dass die Feldnamen in deinen PDFs und FDF-Dateien konsistent sind. Dies minimiert Fehler beim Import.

  • Debugging im VBA: Nutze die Debugging-Tools in VBA, um sicherzustellen, dass deine Variablen und Dateioperationen korrekt ausgeführt werden.

  • Sicherheitseinstellungen anpassen: Stelle sicher, dass die Sicherheitseinstellungen in Adobe Acrobat so konfiguriert sind, dass das automatische Ausfüllen von Formularfeldern zugelassen wird.


FAQ: Häufige Fragen

1. Wie kann ich ein PDF-Formular automatisch ausfüllen?
Du kannst dies erreichen, indem du VBA verwendest, um eine FDF-Datei zu generieren, die dann in dein PDF-Formular importiert wird.

2. Welche Excel-Version benötige ich für diese Funktionalität?
Die beschriebenen Funktionen sind in den neueren Versionen von Excel verfügbar, insbesondere Excel 2010 und höher.

3. Kann ich mehrere PDFs gleichzeitig ausfüllen?
Ja, du kannst den VBA-Code anpassen, um mehrere PDFs hintereinander mit den entsprechenden Daten aus Excel zu befüllen.

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