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

Mit Excel Formularfelder in PDF füllen

Forumthread: Mit Excel Formularfelder in PDF füllen

Mit Excel Formularfelder in PDF füllen
29.11.2024 17:17:54
Marco H.
Hallo Zusammen,

ich habe eine Excel-Datei mit Werten in den Zellen A1, A2 und A3. Diese habe ich schon als String deklariert (Beginn, Ende, Ort). Jetzt möchte ich diese Werte in eine PDF-Datei übermitteln.

Ich habe es geschafft, die PDF-Datei an einem speziell definierten Pfad mit Adobe Reader zu öffnen. Da das direkte bearbeiten von offenen Formularfeldern in PDF DAteien ja wohl nur mit Adobe Reader Pro funktioniert, habe ich mir mit Application SendKeys helfen wollen. Wenn ich die PDF-Datei normal öffne, muss ich zwei Mal die Tab Taste drücken, bis ich im gewünschten Feld bin. So habe ich es auch im VBA Code eingetragen. Das Einzige was er jedoch macht, ist den NumLock zu aktivieren. In das Formularfeld trägt er nichts ein. SendKeys "{NUMLOCK}", True bringt keine Besserung. Egal ob ich die Wait-Komponente aktiviere oder deaktivere oder ganz weglasse, bringt auch nichts. Eine Thema könnte eventuell sein, dass sich der Cursor nach dem ersten Tab in einem Dropdown-Formularfeld befindet. Dort schreibt er auch gefühlt die Werte rein, egal wie oft ich zuvor mit dem TAB an diesem Feld vorbei bin.

Aufbau PDF:
Tab1 = Dropdownfeld
Tab2 = beschreibbares Textfeld (Hier soll Beginn rein)
Tab3 = beschreibbares Textfeld (Hier soll Ende rein)

Hier Teile des Codes:

Dim objShell As Object
Dim Quelle As Workbook
Dim PDFDatum As String
Dim PDFBeginn As String
Dim PDFEnde As String
Dim PDFOrt As String
Dim Result


Set Quelle = ActiveWorkbook

PDFDatum = Worksheets("Deckblatt").Range("A1").Value
PDFBeginn = Worksheets("Deckblatt").Range("A2").Value
PDFEnde = Worksheets("Deckblatt").Range("A3").Value
PDFOrt = Worksheets("Deckblatt").Range("A4").Value

Set objShell = CreateObject("WScript.Shell")

objShell.Run Chr(34) & "C:\Users\MUSTERMANN\Downloads\TEST.pdf" & Chr(34), 1



Application.Wait (Now + TimeValue("0:00:05"))


Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys Beginn
Application.SendKeys "{TAB}", True
Application.SendKeys Ende

Die PDF-Datei kann ich leider weder nachbauen (kein Adobe Pro) noch hier einstellen (Firmenspezifisch).

Habt ihr zufällig noch eine Idee, oder muss ich mich einfach von dem Gedanken ohne Adobe Pro verabschieden?


Danke euch vorab!

Lg Marco


Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Excel Formularfelder in PDF füllen
29.11.2024 17:36:32
Onur
Nix für Ungut, aber was sollen wir denn mit Teilen deines Codes? Ist der Rest auch geheim?
AW: Mit Excel Formularfelder in PDF füllen
29.11.2024 17:45:51
Marco H.
Ich hab mich falsch ausgedrückt, sorry. In meiner Beispieldatei ist das der Gesamte Code. Der Code soll bislang nur eine PDF Datei öffnen und Werte aus dem Tabellenblatt "Deckblatt" in die PDF schreiben. Mehr ist es derzeit nicht. Der Code deklariert Werte und öffnet dann eine PDF. Nur das Schreiben in die PDF geht nicht.


Wenn das Schreiben in die PDF geht, dann soll dieser Code in eine andere Datei eingefügt werden. Aber dort wird der Code auch nur dazu da sein, eine PDF zu öffnen und Werte dort in die Datei zu schreiben.

Daher gibt es auch keinen vollständigen Code. Der gesamte Code steht oben.

Ob die PDF Datei dann gespeichert werden soll oder der Code nach dem Befüllen einfach beendet wird, weiß ich noch nicht. Da sind die Planungen noch nicht abgeschlossen.


Anzeige
AW: Mit Excel Formularfelder in PDF füllen
29.11.2024 17:58:32
Onur
Was genau ist denn hier "Beginn"?
Application.SendKeys Beginn
AW: Mit Excel Formularfelder in PDF füllen
29.11.2024 18:05:48
Marco H.
In Zelle A2 steht das Datum 21.11.2024. Das habe ich mittels Deklarierung zugewiesen
Beginn = Worksheets("Deckblatt").Range("A2").Value
In meinem Code steht es noch falsch drin. Da steht noch PDFBeginn. Ist aber schon berichtigt. Funktioniert aber leider trotzdem noch nicht...
Anzeige
AW: Mit Excel Formularfelder in PDF füllen
29.11.2024 18:23:56
Onur
Da steht doch
PDFBeginn = Worksheets("Deckblatt").Range("A2").Value
und nicht
Beginn = ......
AW: Mit Excel Formularfelder in PDF füllen
29.11.2024 18:27:21
Marco H.
Ja das habe ich ja gerade gesagt, dass es da falsch drin steht.
Selbst wenn es aber auch
PDFBeginn = Worksheets("Deckblatt").Range("A2").Value

und

Application.SendKeys PDFBeginn

heißt, geht es leider nicht. Auch nicht wenn anstatt einem Datum nur ein Wort, bspws "TEST" in der Zelle steht, geht es auch nicht.
Anzeige
AW: Mit Excel Formularfelder in PDF füllen
29.11.2024 18:28:27
Marco H.
Mit dem Wort "Test" in der Zelle geht es leider auch nicht...

Auch nicht, wenn ich Sendkeys einzelne Buchstaben schreiben lasse, auch nicht...

Forumthreads zu verwandten Themen