iwan
Goto Top

Tabs aus Textdateien entfernen

Guten morgen zusammen,

ich habe einen Ordner mit ca. 200 Textdateien darin. Diese sollen automatisiert nach Excel importiert werden (feste Breite), was auch soweit klappt.
Leider haben einige der Dateien Tabulatoren in ihren Zeilen drin, die ich vor dem Import entfernen muss, da sonst der Import nicht einwandfrei funktioniert.
Da ich dies nicht per Hand machen will, suche ich nach einer Möglichkeit, dies per VBS oder Batch zu machen.
Leider ist Google heute morgen nicht mein Freund und ich finde leider kein Ergebnis dazu.

Hat jemand eine Idee hier zu?

Content-ID: 94635

Url: https://administrator.de/contentid/94635

Printed on: December 2, 2024 at 19:12 o'clock

Logan000
Logan000 Aug 18, 2008 at 07:10:57 (UTC)
Goto Top
Moin moin
Das folgende Bsp. solte Dir weiterhelfen.

Set objFSO = CreateObject("Scripting.FileSystemObject")  
Set objSourceFile = objFSO.OpenTextFile("Source.txt", 1)	' Quelldatei öffnen  
Set objDestFile = objFSO.CreateTextFile("Dest.txt", True)	' Zieldatei anlegen  
	Do Until objSourceFile.AtEndOfStream 	                        ' Gesamtes TextDok durchgehen  
		szNextLine = objSourceFile.Readline	                ' Zeile aus Quelldatei einlesen  
		szNextLine = Replace(szNextLine,vbTab," ")           ' Tab duch Leerzeichen ersetzen  
		objDestFile.writeline szNextLine                              '  Zeile in Zieldatei schreiben  
	Loop

Gruß L.
Iwan
Iwan Aug 18, 2008 at 08:24:23 (UTC)
Goto Top
Danke, das hat mir sehr geholfen face-wink
Ich konnte es sogar in mein Excel Makro vor dem Import integrieren.
Allerdings musste ich noch ein Delete und Name mit einbauen, da ich sonst die Dateien ja doppelt habe (Datei wird vorher mit kompletten Pfad und Dateinamen befüllt):
DateiTemp = Datei & ".a"  
Set FSO = CreateObject("Scripting.FileSystemObject")  
Set objSourceFile = FSO.OpenTextFile(Datei, 1)
Set objDestFile = FSO.CreateTextFile(DateiTemp, True)
    Do Until objSourceFile.AtEndOfStream
        szNextLine = objSourceFile.Readline
        szNextLine = Replace(szNextLine, vbTab, "")  
        objDestFile.writeline szNextLine
    Loop
objSourceFile.Close
objDestFile.Close
FSO.GetFile(Datei).Delete
Name DateiTemp As Datei