Access - mit VBA nach Text suchen
Hallo gemeinschaft,
ich erstelle mit einem Outlook vba script txt Dateien, die ich dann später wieder in access Tabelle importiere
nun ist es so, dass die txt dateien zum Teil recht gross sind und ich nicht immer an den exakt gleixchen Zeilen entsprechende textstellen finde - in diesem Format und auch die Ausrichtung kommt die Textdatei
gibt es eine elegante Möglichkeit, dass ich in eine Variabel
Kunde
Adresse
Plz
Ort
telefon
email bekomme
hiervor steht Text
Kund
enna
me:
Andr
e
Test
Adres
se/Ha
usnu
mmer
: Hans
Straß
e 13a
PLZ/
Ort:
3348
4
Bruch
köbel
Land:
Deuts
chlan
d
Telef
on
(tags
über):
Telef
on
(aben
ds):
+017
7333
3333
E-
Mail
Adres
se:
test
@GM
ail.co
m
hier kommt weiterer text
ich erstelle mit einem Outlook vba script txt Dateien, die ich dann später wieder in access Tabelle importiere
nun ist es so, dass die txt dateien zum Teil recht gross sind und ich nicht immer an den exakt gleixchen Zeilen entsprechende textstellen finde - in diesem Format und auch die Ausrichtung kommt die Textdatei
gibt es eine elegante Möglichkeit, dass ich in eine Variabel
Kunde
Adresse
Plz
Ort
telefon
email bekomme
hiervor steht Text
Kund
enna
me:
Andr
e
Test
Adres
se/Ha
usnu
mmer
: Hans
Straß
e 13a
PLZ/
Ort:
3348
4
Bruch
köbel
Land:
Deuts
chlan
d
Telef
on
(tags
über):
Telef
on
(aben
ds):
+017
7333
3333
E-
Adres
se:
test
@GM
ail.co
m
hier kommt weiterer text
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7923257682
Url: https://administrator.de/forum/access-mit-vba-nach-text-suchen-7923257682.html
Ausgedruckt am: 02.04.2025 um 01:04 Uhr
8 Kommentare
Neuester Kommentar
Hi,
Du sucht am besten nach Pattern, also Muster im Text. Dafür eignet sich Regex besonders gut.
Hier sind ein paar Beispiele angeführt wie das in VBS/VBA geht:
https://www.mikesdotnetting.com/article/24/regular-expressions-and-vbscr ...
Du sucht am besten nach Pattern, also Muster im Text. Dafür eignet sich Regex besonders gut.
Hier sind ein paar Beispiele angeführt wie das in VBS/VBA geht:
https://www.mikesdotnetting.com/article/24/regular-expressions-and-vbscr ...

Set regex = CreateObject("vbscript.regexp")
regex.IgnoreCase = True
regex.Pattern = "Kundenname:\s*([^\r\n]*)"
set matches = regex.Execute(txtContent)
if matches.count > 0 then
strName = Trim(matches(0).submatches(0))
End if
Zitat von @jensgebken:
wie komme ich dann an den Kundennamen, der hinter dem Doppelpunkt steht - und nur den und nicht weitere buchstaBEN
Es gibt eine tolle Site um dein Pattern zu prüfen. Ich verwende die seit Jahren. Ist auch ein kleines Cheatsheet dabei:wie komme ich dann an den Kundennamen, der hinter dem Doppelpunkt steht - und nur den und nicht weitere buchstaBEN
Regexr.com
Zitat von @7907292512:
Lerne Regex my friend!
Du sagst es Siddius 😉Lerne Regex my friend!

Klammern () sind Sonderzeichen (wie viele andere) in Regex und leiten einen Submatch ein, deswegen musst du diese mittels Backslash escapen wenn du sie literal im Pattern matchen willst:
regex.Pattern = "Telefon \(tagsüber\):\s*([^\r\n]*)"