Access 2007 Text aus variabler länge bestimmen und durch Umbruch ersetzen (VBA)
Hallo,
ich lese Text aus einen Dateien in eine Variable um inhalte daraus in Tabellen einzufügen
Die Texte sehen z.b. so aus:
Ich lasse mit
die Länge bestimmen, nur wie bekomme ich es hin, anstallt der gesamten Zeile mit Datum und Uhrzeit nur einen umbruch einzubinden
Das Ergebnis sollte wie folgt aussehen
ich lese Text aus einen Dateien in eine Variable um inhalte daraus in Tabellen einzufügen
Die Texte sehen z.b. so aus:
...
03.12.13 13:07:25DGTALACDieses ist ein Test
changed blub bla bla
03.12.13 13:07:DGTALACDieses ist ein Test
Wollen wir mal schauen
-und so weiter.
danke
03.12.13 13:07:DGTALACDieses ist ein Test
Wollen wir mal schauen
03.12.13 13:07:DGTALACDieses ist ein Test
und so weiter
03.12.13 12:54:DGTALACDieses ist ein Test
....
Ich lasse mit
If Inhalt(7) Like ("*??.??.?? ??:??:?????????*") = True Then '
InStr(2, Inhalt(7), Chr(13) & Chr(10))
die Länge bestimmen, nur wie bekomme ich es hin, anstallt der gesamten Zeile mit Datum und Uhrzeit nur einen umbruch einzubinden
Das Ergebnis sollte wie folgt aussehen
....
changed blub bla bla
Wollen wir mal schauen
-und so weiter.
danke
Wollen wir mal schauen
und so weiter
....
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 223635
Url: https://administrator.de/forum/access-2007-text-aus-variabler-laenge-bestimmen-und-durch-umbruch-ersetzen-vba-223635.html
Ausgedruckt am: 09.04.2025 um 23:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo christiankarl,
wenn in der Variablen
falls du noch nix mit Regular Expressions am Hut hattest, hier die Erläuterung des Patterns:
solltest du dich unbedingt mal mit beschäftigen, das erleichtert das extrahieren von bestimmten Textpassagen erheblich !
Grüße Uwe
wenn in der Variablen
Inhalt(7)
der gesamte Text (nicht nur eine Zeile) gespeichert ist kannst du es komplett direkt so machen:Set myRegExp = CreateObject("vbscript.regexp")
myRegExp.MultiLine = True
myRegExp.Global = True
myRegExp.Pattern = "^\d{2}\.\d{2}\.\d{2} \d{2}:\d{2}[^\n]*"
resultString = myRegExp.Replace(Inhalt(7), "")
MsgBox resultString
falls du noch nix mit Regular Expressions am Hut hattest, hier die Erläuterung des Patterns:
^\d{2}\.\d{2}\.\d{2} \d{2}:\d{2}[^\n]*
Assert position at the beginning of a line (at beginning of the string or after a line break character) «^»
Match a single digit 0..9 «\d{2}»
Exactly 2 times «{2}»
Match the character “.” literally «\.»
Match a single digit 0..9 «\d{2}»
Exactly 2 times «{2}»
Match the character “.” literally «\.»
Match a single digit 0..9 «\d{2}»
Exactly 2 times «{2}»
Match the character “ ” literally « »
Match a single digit 0..9 «\d{2}»
Exactly 2 times «{2}»
Match the character “:” literally «:»
Match a single digit 0..9 «\d{2}»
Exactly 2 times «{2}»
Match any character that is NOT a line feed character «[^\n]*»
Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Grüße Uwe
Hi,
Hab ich glatt übersehen mit der Variablen (Blindheit halt):
Dann würde es in deiner angepassten Variante heißen:
Sonst gibts evtl. 2 Zeilenumbrüche.
Gruß
Xolger
Zitat von @colinardo:
Hallo christiankarl,
wenn dein String in der Variablen
Hallo christiankarl,
wenn dein String in der Variablen
Inhalt(7)
gespeichert ist kannst du es so machen:Hab ich glatt übersehen mit der Variablen (Blindheit halt):
Dann würde es in deiner angepassten Variante heißen:
If Inhalt(7) Like ("*??.??.?? ??:??:?????????*") = True Then '
Inhalt(7)=""
Gruß
Xolger