Thema Datum  Von Nutzer Rating
Antwort
Rot Regex Abfrage mit mehreren Suchparametern
12.02.2021 09:06:24 Andreas
NotSolved
12.02.2021 11:07:11 Gast20653
NotSolved
12.02.2021 11:13:16 Andreas
NotSolved
12.02.2021 11:16:41 Gast81333
NotSolved
12.02.2021 11:41:42 Andreas
NotSolved
12.02.2021 12:25:50 Gast81333
NotSolved
12.02.2021 12:36:08 Andreas
NotSolved
12.02.2021 12:44:27 Gast46551
NotSolved
12.02.2021 12:27:49 Gast55264
NotSolved
12.02.2021 12:39:34 Gast75795
NotSolved
12.02.2021 13:03:54 Andreas
NotSolved
12.02.2021 13:12:28 Gast75795
NotSolved
12.02.2021 13:33:34 Gast75795
NotSolved
12.02.2021 13:34:56 Gast63751
NotSolved
12.02.2021 14:12:04 Gast75795
NotSolved
15.02.2021 08:41:38 Andreas
NotSolved
22.02.2021 08:47:09 Andreas
NotSolved
22.02.2021 18:55:57 Gast75795
NotSolved
27.04.2021 08:03:12 Andreas
NotSolved
27.04.2021 14:21:10 Gast17703
NotSolved

Ansicht des Beitrags:
Von:
Andreas
Datum:
12.02.2021 09:06:24
Views:
187
Rating: Antwort:
  Ja
Thema:
Regex Abfrage mit mehreren Suchparametern

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.:):

 

        regex.Pattern = "Untersuchungsbericht Nr. ([^\r\n]+)"                               'Suche nach Untersuchungsbericht Nr.
        Set matches = regex.Execute(strTXT)
        If matches.Count > 0 Then
            rngLastRow.Cells(1, 1).Value = Left(matches(0).submatches(0), 9)                'Berichtsnr in Spalte A speichern
        ElseIf regex.Pattern = "Untersuchungsbericht-Nr.: ([^\r\n]+)" Then                  'Suche nach Untersuchungsbericht-Nr.
            Set matches = regex.Execute(strTXT)
            If matches.Count > 0 Then
                rngLastRow.Cells(1, 1).Value = Left(matches(0).submatches(0), 9)            'Berichtsnr in Spalte A speichern
            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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Regex Abfrage mit mehreren Suchparametern
12.02.2021 09:06:24 Andreas
NotSolved
12.02.2021 11:07:11 Gast20653
NotSolved
12.02.2021 11:13:16 Andreas
NotSolved
12.02.2021 11:16:41 Gast81333
NotSolved
12.02.2021 11:41:42 Andreas
NotSolved
12.02.2021 12:25:50 Gast81333
NotSolved
12.02.2021 12:36:08 Andreas
NotSolved
12.02.2021 12:44:27 Gast46551
NotSolved
12.02.2021 12:27:49 Gast55264
NotSolved
12.02.2021 12:39:34 Gast75795
NotSolved
12.02.2021 13:03:54 Andreas
NotSolved
12.02.2021 13:12:28 Gast75795
NotSolved
12.02.2021 13:33:34 Gast75795
NotSolved
12.02.2021 13:34:56 Gast63751
NotSolved
12.02.2021 14:12:04 Gast75795
NotSolved
15.02.2021 08:41:38 Andreas
NotSolved
22.02.2021 08:47:09 Andreas
NotSolved
22.02.2021 18:55:57 Gast75795
NotSolved
27.04.2021 08:03:12 Andreas
NotSolved
27.04.2021 14:21:10 Gast17703
NotSolved