Aus Datei String lesen und in Neue Datei speichern
Hallo!
Hoffe Ihr könnt mir helfen?
Ich möchte aus einer Datei "test.txt" 3 Werte auslesen und alle Zeichen die in dieser Zeile danach sind in eine neue Datei speichern (Semikolongetrennt)
test.txt
Name: Test
Vorname: Tester
Alter: 3
Strasse: xx
Wohnort: xx
Es soll nun per vbs der Wert für den Name, den Vorname und das Alter gelesen werden und kommagetrennt in eine neue Datei (text.csv) gespeichert werden. (Es muss also nach dem String "Name:" gesucht werden und die Werte danach sollen in die csv exportiert werden.
test.csv soll dann so aussehen
Test;Tester;3
Wer kann mir helfen?
Danke und Grüße
Hoffe Ihr könnt mir helfen?
Ich möchte aus einer Datei "test.txt" 3 Werte auslesen und alle Zeichen die in dieser Zeile danach sind in eine neue Datei speichern (Semikolongetrennt)
test.txt
Name: Test
Vorname: Tester
Alter: 3
Strasse: xx
Wohnort: xx
Es soll nun per vbs der Wert für den Name, den Vorname und das Alter gelesen werden und kommagetrennt in eine neue Datei (text.csv) gespeichert werden. (Es muss also nach dem String "Name:" gesucht werden und die Werte danach sollen in die csv exportiert werden.
test.csv soll dann so aussehen
Test;Tester;3
Wer kann mir helfen?
Danke und Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 132767
Url: https://administrator.de/contentid/132767
Ausgedruckt am: 22.11.2024 um 06:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo admin1987!
Sollte etwa so gehen:
Beim Schreiben in die csv-Datei wird die Zeile an eine schon bestehende Datei angefügt - falls die Datei neu erstellt werden soll, ersetzte die letzte Zeile durch:
Gesucht wird übrigens nur jeweiils am Zeilenanfang nach dem exakten String (unter Beachtung von Groß-/Kleinschreibung) und es wird in dieser Version auch nicht geprüft, ob alle Werte gefunden wurden (falls ein Wert nicht gefunden wird, wird nur das Trennzeichen gesetzt - bei fehlendem Vornamen würde daher das Ergebnis so aussehen: "
Grüße
bastla
Sollte etwa so gehen:
Ein = "D:\test.txt"
Such = Array("Name: ", "Vorname: ", "Alter: ")
Aus = "D:\test.csv"
Delim = ";"
Set fso = CreateObject("Scripting.FileSystemObject")
Text = Split(fso.OpenTextFile(Ein).ReadAll, vbCrLF)
UText = UBound(Text)
Zeile = ""
For i = 0 To UBound(Such)
LSuch = Len(Such(i))
Gef = ""
For j = 0 To UText
If Left(Text(j), LSuch) = Such(i) Then
Gef = Mid(Text(j), LSuch + 1)
Exit For
End If
Next
Zeile = Zeile & Delim & Gef
Next
fso.OpenTextFile(Aus, 8, True).WriteLine Mid(Zeile, 2)
fso.CreateTextFile(Aus).WriteLine Mid(Zeile, 2)
Test;;3
").Grüße
bastla