Как узнать первую строку текстового файла или нет с помощью VBA

Как узнать первую строку текстового файла или нет с помощью VBA

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

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

Как лучше всего это сделать?

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

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

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

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

Связанный контент