Zeichen zwischen 2 Trennzeichen in einer Textdatei ersetzen
Hallo Experten,
ich lese schon seit Stunden hier und experimentiere
mit den gefundenen Lösungsansetzen ohne Erfolg.
Ich habe eine Textdatei (CSV-Format, Werte mit Semikolons getrennt).
Die Datei stammt aus einem DOS-Programm und soll mit Excel
geöffnet werden. In einer Spalte steht Datenmüll, der das
Öffnen mit Excel verhindert. Da diese Spalte nicht benötigt
wird, lautet die Aufgabe:
Ersetze in der Textdatei alle Zeichen zwischen dem 15. und 16.
Semikolon durch ein beliebiges Zeichen (z.B. Leerzeichen)
oder die Zeichen entfernen.
Kann mir jemand helfen ?
Gruß
Burkhard
Die Datei stammt aus einem DOS-Programm und soll mit Excel
geöffnet werden. In einer Spalte steht Datenmüll, der das
Öffnen mit Excel verhindert. Da diese Spalte nicht benötigt
wird, lautet die Aufgabe:
Ersetze in der Textdatei alle Zeichen zwischen dem 15. und 16.
Semikolon durch ein beliebiges Zeichen (z.B. Leerzeichen)
oder die Zeichen entfernen.
Kann mir jemand helfen ?
Gruß
Burkhard
Please also mark the comments that contributed to the solution of the article
Content-Key: 161549
Url: https://administrator.de/contentid/161549
Printed on: April 19, 2024 at 14:04 o'clock
2 Comments
Latest comment
Hallo meff53 und willkommen im Forum!
In diesem Fall würde sich ein VBScript der Art
anbieten ...
... obwohl es ja auch möglich sein sollte, die Datei auf zB "Deine.txt" umzubenennen, in Excel zu importieren (über "Öffnen") und dabei die entsprechende Spalte vom Import auszuschließen (Schritt 3 des Assistenten: "Spalten nicht importieren (überspringen)") ...
Grüße
bastla
In diesem Fall würde sich ein VBScript der Art
Datei = "D:\Deine.csv"
Delim = ";" 'Trennzeichen
FeldNr = 15 'x. Trennzeichen vor dem zu ersetzenden Feld
Ersatz = " " 'einzufügendes Ersatzzeichen
Set fso = CreateObject("Scripting.FileSystemObject")
Zeilen = Split(fso.OpenTextFile(Datei).ReadAll, vbCrLf)
For i = 0 To UBound(Zeilen)
Felder = Split(Zeilen(i), Delim)
If UBound(Felder) >= FeldNr Then Felder(FeldNr) = Ersatz
Zeilen(i) = Join(Felder, Delim)
Next
fso.CreateTextFile(Datei).Write Join(Zeilen, vbCrLf)
... obwohl es ja auch möglich sein sollte, die Datei auf zB "Deine.txt" umzubenennen, in Excel zu importieren (über "Öffnen") und dabei die entsprechende Spalte vom Import auszuschließen (Schritt 3 des Assistenten: "Spalten nicht importieren (überspringen)") ...
Grüße
bastla