na dann...
10.07.2015 16:59:48
Michael
Hallo Chris,
warum nicht gleich?!
Du öffnest die Datei sowieso noch zweimal, machst was und schließt sie wieder. Ich hab Deine Prozedur leicht geändert:
Option Explicit
Sub txtchange()
Dim strIn As String, strOut As String
Const strOrg As String = """//"""""
Const strRep As String = "//"""
Dim strDatei As String
Dim Grundpfad As String
Dim erster As Boolean
Grundpfad = ActiveWorkbook.Path
strDatei = Grundpfad & "\Message_DEU.h"
erster = True
Open strDatei For Input As #1
' Stop
Do While Not EOF(1)
Line Input #1, strIn
If erster Then
strOut = Trim(Replace(strIn, vbTab, " "))
erster = False
Else
strOut = strOut & vbCrLf & Replace(strIn, strOrg, strRep, , , vbBinaryCompare)
End If
Loop
Close #1
strOut = Mid(strOut, 2)
Open strDatei For Output As #1
Print #1, strOut
Close #1
End Sub
Wenn die *erste* Zeilen eingelesen wird, werden alle Tabs durch Leerzeichen ersetzt und die wiederum via trim abgeschnitten - fertig.
Du kannst den Kommentar beim "stop" wegmachen und dann mit den Code mit F8 zeilenweise ausführen lassen, dann siehst Du, was in den jeweiligen Variablen drinsteht.
Happy Exceling,
Michael