meff53

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 161549

Url: https://administrator.de/forum/zeichen-zwischen-2-trennzeichen-in-einer-textdatei-ersetzen-161549.html

Ausgedruckt am: 21.05.2025 um 09:05 Uhr

bastla
bastla 24.02.2011 um 22:55:45 Uhr
Goto Top
Hallo meff53 und willkommen im Forum!

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)
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
meff53
meff53 25.02.2011 um 09:41:19 Uhr
Goto Top
Vielen Dank für die schnelle Antwort, es hat super funktioniert.
Den Import in Excel hatte ich auch schon versucht, leider ohne Erfolg. In der betreffenden Spalte stehen Zeichen, die in dem DOS-Programm eine Grafik darstellen. Das bringt den Assistenten so durcheinander, dass er an dieser Stelle mehrere neue Zeilen in die Exceltabelle einfügt und diese Zeichen nicht als eigenständige Spalte erkennt, die man beim Import übergehen könnte.
Nochmals Danke !!!
Grüße
Burkhard