Hallo zusammen,
ich habe einen VBA Code, welcher es mir erlaubt mehrere tausend Berichte im PDF Format in Textdateien umzuwandeln und anschließend diese Textdateien auf Basis von Regex durchsucht und bei einem Treffer den Rest der Zeile in eine Tabelle schreibt. Das funktioniert soweit, jedoch musste ich feststellen, dass sich die Schlagworte oft unterscheiden und ich somit mehrere Abfragen machen muss. Dies habe ich bislang so gelöst (Beispiel anhand von 2 verschiedenen "Wordings"( Untersuchungsbericht Nr. / Untersuchungsbericht-Nr.:):
1 2 3 4 5 6 7 8 9 10 | regex.Pattern = "Untersuchungsbericht Nr. ([^\r\n]+)"
Set matches = regex.Execute(strTXT)
If matches.Count > 0 Then
rngLastRow.Cells(1, 1).Value = Left(matches(0).submatches(0), 9)
ElseIf regex.Pattern = "Untersuchungsbericht-Nr.: ([^\r\n]+)" Then
Set matches = regex.Execute(strTXT)
If matches.Count > 0 Then
rngLastRow.Cells(1, 1).Value = Left(matches(0).submatches(0), 9)
End If
End If
|
Dieser Code wird dann mit weiteren Suchbegriffen fortgeführt, deren Suchergebnisse in weitere Spalten der Zeile gepackt werden. Der Umweg über IF / Else If würde das ganze nun riesig aufblasen wenn ich 10 verschiedene Wordings pro Suchbegriff habe.
Am Liebsten wäre mir jedoch die Suchbegriffe in einem extra Blatt untereinander in eine Spalte zu packen und diese Suchbegriffe herzunehmen. Das hätte den Charme, dass auch jemand der sich nicht mit VBA auskennt, eine Wordings ergänzen kann. Sobald es einen Treffer gibt, soll im Code weitergearbeitet werden (Suche Wordings in Spalte 2 zB). Die Alternative, die Wildcards entsprechend abzuändern, ist mir etwas zu komplex, da hier je nach User Doppelpunkt, Punkt, Bindestrich usw. verwendet werden. Die Wordings habe ich bislang alle gefunden, denke ich.
Wer kann mir helfen?
Danke und Gruß Andreas
|