Kann man Daten aus Excel nach Acrobat übertragen?

  • Hi,


    ich möchte gerne ein pdf-Dokument erstellen, dessen Basis ein eingescanntes Formular ist. In die Felder dieses Formulars möchte ich Daten einfügen, die sich Acrobat aus einer Excel-Tabelle holen soll.
    Man kann sich das so vorstellen, wie z.B. ein Rechnungsformular, in dessen Felder Daten wie Bestellte Waren, Kundennummer, Preis, Adresse des Kunden usw. aus Excel befüllt werden.
    Geht das? Wenn ja, wie? Die Hilfe von Acrobat hat mir nicht wirklich weitergeholfen. :mad:


    Gruß, Cheesy

  • aaaaaaaaaalso:


    du brauchst auf jedenfall acrobat full - nicht den acrobat reader, da du das hinzugefügte ja abspeicher musst.
    dieses kann der acrobat reader nicht, denn wie ein schlauer mann mal gesagt hat: könnte der acrobat reader schreiben, würde er nicht reader heissen ;)


    die zauberlösung heisst ".fdf transport datei".
    diese datei übergibt die ähnlich einer steuerdatei z.b. für word die daten in fest defninierte felder.


    dies bedeutet für dich, das du im ersten schritt in deiner PDF-vorlage mit hilfe des "textfeld-werkzeug" ersteinmal alle felder mit eindeutigen namen versehen darfst.


    hast du das erledigt, speicherst du das .pdf ab und schliesst es ;)


    in excel öffnest du den vba-editor (ALT+F11), fügst mit rechtsklick ein neues modul ein kopierst rechts in das grosse fenster folgenden code:



    die exceldatei speicherst du in dasselbe verzeichnis ab, in der auch dein vorhin gespeichertes .pdf liegt.


    du musst nun noch ein bissel den code auf deine bedürfnisse anpassen:
    strPfad = ActiveWorkbook.Path & "\"
    dName = strPfad & "Transport.fdf"
    --> hier erstellt das makro im verzeichnis der exceldatei die steuerdatei "Transport.fdf" (kannst du problemlos ändern)


    a.WriteLine ("<< /V (" & Worksheets("Tabelle1").Range("A1").Value & ")/T (an)>>")
    --> aus der "Tabelle1" deiner exceldatei holt sich das makro das was du in spalte A1 geschrieben hast und wird es dem PDF textfeld "an" zuweisen.
    du könntest z.b. für dein rechnungsformular den adresskopf so machen.
    trägst in spalte A1 "Max Mustermann" ein und dein textfeld im PDF heisst "Vor_ZuName", dann wäre der code:
    a.WriteLine ("<< /V (" & Worksheets("Tabelle1").Range("A1").Value & ")/T (Vor_ZuName)>>")


    ebenfalls sehr wichtig ist diese programmzeile:
    a.WriteLine ("/F (excel_pdf.pdf)>>")
    --> hier sagst du der steuerdatei wie dein PDF dokument heisst, in meinem fall halt "excel_pdf.pdf".
    sollte dein PDF dokument z.b. "Rechnung.pdf" heissen wäre der code
    a.WriteLine ("/F (rechnung.pdf)>>")


    das ganze kannst du im codefenster mit F5 (cursor muss im code blinken) starten oder über extras -> makro -> makros


    kleines manko: für masse ist der code in dieser art nicht geeignet. müsste man mal später rangehen :)
    ich hatte es mal vor ~2jahren für die arbeit gebastelt um eine art weiterleitungsblatt zu automatisieren, aber alle mitarbeiter mit acrobat full auszustatten damit diese auch etwas hineinschreiben können war dann doch dem guten etwas zuviel.
    chef hätte sich dann wohl nicht den 911er kaufen können :mad: :rolleyes: :cool:

    NoxX

  • Das klingt doch schonmal klasse! Danke!
    Ich habe Adobe Acrobat 7 Professional. Damit sollte es gehen. Das mit den Feldern habe ich mir schon irgendwie gedacht, nur wusste ich nicht, wie ich diesen Feldern Variablen zuweisen kann. Aber Deine Lösung könnte klappen. Ich werde mal schauen, ob ich damit weiterkomme.


    :top:


    CU, Cheesy

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!