Хотелось бы узнать первую строку или нет при чтении текстового файла для редактирования его данных. Потому что я не хочу обновлять эти данные в других строках.

Я хочу разветвить свой код в позиции, отмеченной с помощью ★.

Каков наилучший способ сделать это?

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

1 ответ1

0

Это довольно тривиально, но вам придется выполнить эту проверку перед прочтением первой строки.

Если вы всегда открываете файл самостоятельно, вы можете быть уверены, что ваша первая итерация находится в начале файла:

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

Если вы точно не знаете, что файл действительно будет в начале (то есть вы не открываете его сами в этой части кода):

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .