Ich möchte wissen, ob beim Lesen einer Textdatei die erste Zeile angezeigt wird oder nicht, um die Daten zu bearbeiten. Denn ich möchte diese Daten nicht in anderen Zeilen aktualisieren.
Ich möchte meinen Code an der mit einem ★ markierten Position verzweigen.
Wie geht man dabei am besten vor?
Set file = FSO.OpenTextFile(filepath)
Do Until file.AtEndOfStream
line = file.ReadLine
If ★ Then
'edit data of first line
ElseIf ... Then 'other lines' condition
'update data of other lines
End If
'Write line to text file
Loop
Antwort1
Dies ist ziemlich trivial, aber Sie müssen diese Prüfung durchführen, bevor Sie die erste Zeile lesen.
Wenn Sie die Datei immer selbst öffnen, können Sie sicher sein, dass Ihre erste Iteration am Anfang der Datei steht:
Set file = FSO.OpenTextFile(filepath)
Set firstline = True
Do Until file.AtEndOfStream
line = file.ReadLine
If firstline Then
firstline = False
'Do first line stuff
ElseIf ...
End If
Loop
Wenn Sie nicht sicher sind, ob die Datei tatsächlich am Anfang steht (d. h. Sie öffnen sie in diesem Codeteil nicht selbst):
Set file = FSO.OpenTextFile(filepath)
Do Until file.AtEndOfStream
line = file.ReadLine
If file.Line == 2 Then ' we are actually at the second line now (after reading)
'Do first line stuff
ElseIf ...
End If
Loop