Pdf in excel einspielen mit vba und pdftotext
Hallo Zusammen,
das Thema ist hier im forum bereits mehr als 4 jahre alt, aber für mich brand aktuell.
Ich möchte für eine Chemikalienliste aus verschiedenen Sicherheitsdatenblättern jeweils die H-Sätze raussuchen.
Mir diente folgender Beitrag als Inspiration:
PDF auslesen und per VBA in Excel schreiben
Allerdings werden da direkt gezielte Daten ausgelesen und niedergschrieben.
Durch die Art und Weise von Sicherheitsdatenblättern stehen die H-Sätze aber nie an der selben Stelle und es gibt erst recht kein Schlüsselwort, nach dem die Stehen würden.
Mir würde es also reichen eine Stabile Lösung zu haben, das .txt file zu erzeugen und dieses dann in A1 meines Tabellenblattes zu kopieren.
ich kann das ganze naürlich auch per Hand machen aber per VBA und einem CommandButton ist das natürlich komfortabler.
Mein bisheriger Ansatz sah eigentlich folgender Maßen aus
Das hat soweit gestern auch alles wunderbar funktioniert. Heute allerdings nicht mehr und ich habe keine Ahnung wodran das liegt.
Ich bin in VBA auch noch ein ziemlicher Neuling und der Code hier ist das komplexeste was ich bisher erstellt habe.
Aber ich denke mir, so schwer kann das doch gar nicht, sein diesen CMD befehl auszuführen ohne direkt auf eine .bat zugreifen zu müssen.
Die PDF hier bei mir bisher immer SDB.pdf, was auch ausreicht. Schöner wärs natürlich wenn die einzelne PDF, mit beliebigem Namen, die in dem Ordner liegt, genommen und konvertiert werden würde.
Über Hilfe und Anregungen würde ich mich sehr freuen.
mfg
PB
das Thema ist hier im forum bereits mehr als 4 jahre alt, aber für mich brand aktuell.
Ich möchte für eine Chemikalienliste aus verschiedenen Sicherheitsdatenblättern jeweils die H-Sätze raussuchen.
Mir diente folgender Beitrag als Inspiration:
PDF auslesen und per VBA in Excel schreiben
Allerdings werden da direkt gezielte Daten ausgelesen und niedergschrieben.
Durch die Art und Weise von Sicherheitsdatenblättern stehen die H-Sätze aber nie an der selben Stelle und es gibt erst recht kein Schlüsselwort, nach dem die Stehen würden.
Mir würde es also reichen eine Stabile Lösung zu haben, das .txt file zu erzeugen und dieses dann in A1 meines Tabellenblattes zu kopieren.
ich kann das ganze naürlich auch per Hand machen aber per VBA und einem CommandButton ist das natürlich komfortabler.
Mein bisheriger Ansatz sah eigentlich folgender Maßen aus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub CommandButton1_Click()
Dim RetVal
RetVal = Shell("C:\Users\Pizzabrot\Desktop\Neuer Ordner\pdftotext.exe sdb.pdf", 1) 'Erzeugt die .txt File
Application.Wait (Now + TimeValue("0:00:05")) 'Fügte eine Wartezeit hinzu, damit das .txt File sicher erstellt wird
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\Pizzabrot\Desktop\Neuer Ordner\SDB.txt", _
Destination:=Range("$A$1"))
.Name = "SDB_1" 'Wurd per Makroaufnahme erstellt, um das .txt File einzulesen und bei A1 einzufügen
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
Das hat soweit gestern auch alles wunderbar funktioniert. Heute allerdings nicht mehr und ich habe keine Ahnung wodran das liegt.
Ich bin in VBA auch noch ein ziemlicher Neuling und der Code hier ist das komplexeste was ich bisher erstellt habe.
Aber ich denke mir, so schwer kann das doch gar nicht, sein diesen CMD befehl auszuführen ohne direkt auf eine .bat zugreifen zu müssen.
Die PDF hier bei mir bisher immer SDB.pdf, was auch ausreicht. Schöner wärs natürlich wenn die einzelne PDF, mit beliebigem Namen, die in dem Ordner liegt, genommen und konvertiert werden würde.
Über Hilfe und Anregungen würde ich mich sehr freuen.
mfg
PB
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 493324
Url: https://administrator.de/forum/pdf-in-excel-einspielen-mit-vba-und-pdftotext-493324.html
Ausgedruckt am: 14.04.2025 um 04:04 Uhr
4 Kommentare
Neuester Kommentar
Hi,
So ausm Bauch raus kannst du dir mal ansehen was denn "Retval" für einen Wert hat, eventuell hilft der Exit code ja weiter.
https://www.xpdfreader.com/pdftotext-man.html
Was eventuell auch sein kann ist, das der Shellaufruf den Parameter nicht mag (dann wärs seltsam, dass es gestern funktioniert hat).
https://stackoverflow.com/questions/20917355/how-do-you-run-a-exe-with-p ...
Grüße
So ausm Bauch raus kannst du dir mal ansehen was denn "Retval" für einen Wert hat, eventuell hilft der Exit code ja weiter.
https://www.xpdfreader.com/pdftotext-man.html
Was eventuell auch sein kann ist, das der Shellaufruf den Parameter nicht mag (dann wärs seltsam, dass es gestern funktioniert hat).
https://stackoverflow.com/questions/20917355/how-do-you-run-a-exe-with-p ...
Grüße