PDF Datei auslesen und per VBA in Excel schreiben
Hallo zusammen!
Ich bin auf folgenden Threat gestoßen, und konnte auch schon einige Erfolge erzielen!
Mein Problem ist ein ähnliches, und bin noch ziemlich neu in der Welt des VBA
Aus Google bin ich leider nicht schlauer geworden..
Ich habe wie im Threat erläutert per pdf2text eine Text Datei ausgegeben,
diese wird nach dem gesuchten Wort durchsucht und gibt den Wert der dahinter steht aus.
In meinem Fall versuche ich die Daten aus einem PDF Plan auszugeben.
Meine Frage dazu ist:
- Wie kann ich den Wert des Planinhalts also in diesem Fall das Ergebnis "Übersichtslageplan" ausgeben lassen?
Ich habe es mal so versucht wie ich es konnte, bin aber ziemlich unzufrieden damit
Die txt Datei habe ich mal ein bisschen gekürzt, aber sieht in etwa folgender Maßen aus:
Ausführungsplanung
Übersichtslageplan
Planart
Plannummer B0100212_001e
Lageplan
xxxx i.V.
1 : 1000
xxx
xxx
März 15
März 15
53
1431
2,631
Ich benutze das ganze auf einem Win7 mit Excel 2010
Hoffentlich versteht ihr mein Problem und könnt mir helfen!! =)
Ich bin auf folgenden Threat gestoßen, und konnte auch schon einige Erfolge erzielen!
Mein Problem ist ein ähnliches, und bin noch ziemlich neu in der Welt des VBA
Aus Google bin ich leider nicht schlauer geworden..
Ich habe wie im Threat erläutert per pdf2text eine Text Datei ausgegeben,
diese wird nach dem gesuchten Wort durchsucht und gibt den Wert der dahinter steht aus.
In meinem Fall versuche ich die Daten aus einem PDF Plan auszugeben.
Meine Frage dazu ist:
- Wie kann ich den Wert des Planinhalts also in diesem Fall das Ergebnis "Übersichtslageplan" ausgeben lassen?
Ich habe es mal so versucht wie ich es konnte, bin aber ziemlich unzufrieden damit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Sub PDF2Excel()
Dim i As Integer
Dim strCMDLine As String, strTXT As String
Dim FSO As Object, objSFold As Object, objWks As Object, WSHShell As Object, file As Object, rngLastRow As Range
Dim colPFiles As New Collection, colTFiles As New Collection, regex As Object
Set WSHShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set regex = CreateObject("vbscript.regexp")
regex.MultiLine = True
Set objSFold = FSO.GetFolder(ThisWorkbook.Path)
strCMDLine = """" & ThisWorkbook.Path & "\pdftotext.exe"" -raw -nopgbrk -l 2 "
For Each file In objSFold.Files ' alle Dateien einlesen
If Right(file.Path, 4) = ".pdf" Then colPFiles.Add file.Path ' nur *.pdf
Next
For i = 1 To colPFiles.Count
WSHShell.Run strCMDLine & """" & colPFiles.Item(i) & """", 0, True
Next
For Each file In objSFold.Files ' wieder alles einlesen
If Right(file.Path, 4) = ".txt" Then colTFiles.Add file.Path ' nur *.txt
Next
Set objWks = Worksheets(1)
Set rngLastRow = objWks.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
For i = 1 To colTFiles.Count
strTXT = FSO.OpenTextFile(colTFiles.Item(i)).ReadAll
'Plannummer auslesen
regex.Pattern = "^Plannummer([^\r\n]+)"
Set matches = regex.Execute(strTXT)
If matches.Count > 0 Then
rngLastRow.Cells(1, 1).Value = matches(0).submatches(0) 'Plannummer in Spalte A Speichern
End If
' Maßstab auslesen
regex.Pattern = "^1: |^1 :([^\r\n]+)"
Set matches = regex.Execute(strTXT)
If matches.Count > 0 Then
rngLastRow.Cells(1, 2).Value = matches(0).submatches(0) 'Maßstab in Spalte B Speichern
End If
' Planinhalt auslesen
regex.Pattern = "^Planinhalt([^\r\n]+)"
Set matches = regex.Execute(strTXT)
If matches.Count > 0 Then
rngLastRow.Cells(1, 3).Value = matches(0).submatches(0) 'Planinhalt in Spalte C Speichern
End If
Set rngLastRow = rngLastRow.Offset(1, 0)
'Textdatei löschen
Next
Set FSO = Nothing
Set regex = Nothing
Set WSHShell = Nothing
Set objSFold = Nothing
End Sub
Die txt Datei habe ich mal ein bisschen gekürzt, aber sieht in etwa folgender Maßen aus:
Ausführungsplanung
Übersichtslageplan
Planart
Plannummer B0100212_001e
Lageplan
xxxx i.V.
1 : 1000
xxx
xxx
März 15
März 15
53
1431
2,631
Ich benutze das ganze auf einem Win7 mit Excel 2010
Hoffentlich versteht ihr mein Problem und könnt mir helfen!! =)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 302274
Url: https://administrator.de/forum/pdf-datei-auslesen-und-per-vba-in-excel-schreiben-302274.html
Ausgedruckt am: 22.04.2025 um 01:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo!
leider werde ich aus deiner Frage nicht ganz schlau.
Vielleicht hängst du mal ein Beispiel des Lageplans an?
Bitte beschreibe in Ruhe, was du eingibst, was du als Ausgabe erwartest und was du stattdessen erhältst.
Danke.
Beste Grüße
Dominique
leider werde ich aus deiner Frage nicht ganz schlau.
Zitat von @Julian8990:
In meinem Fall versuche ich die Daten aus einem PDF Plan auszugeben.
Meine Frage dazu ist:
- Wie kann ich den Wert des Planinhalts also in diesem Fall das Ergebnis "Übersichtslageplan" ausgeben lassen?
Gegenfrage: Wie sieht ein solcher "Plan" denn aus? "Übersichtslageplan"?In meinem Fall versuche ich die Daten aus einem PDF Plan auszugeben.
Meine Frage dazu ist:
- Wie kann ich den Wert des Planinhalts also in diesem Fall das Ergebnis "Übersichtslageplan" ausgeben lassen?
Ich habe es mal so versucht wie ich es konnte, bin aber ziemlich unzufrieden damit 
Da wären auch noch ein paar andere Kleinigkeiten; dazu später mehr.Ich benutze das ganze auf einem Win7 mit Excel 2010
Hoffentlich versteht ihr mein Problem und könnt mir helfen!! =)
Nein, ehrlich gesagt nur minder.Hoffentlich versteht ihr mein Problem und könnt mir helfen!! =)
Vielleicht hängst du mal ein Beispiel des Lageplans an?
Bitte beschreibe in Ruhe, was du eingibst, was du als Ausgabe erwartest und was du stattdessen erhältst.
Danke.
Beste Grüße
Dominique

Wie kann ich den Wert des Planinhalts also in diesem Fall das Ergebnis "Übersichtslageplan" ausgeben lassen?
RegexAusführungsplanung\s+(^[^\r\n]+)