Como saber ou não a primeira linha do arquivo de texto usando vba

Como saber ou não a primeira linha do arquivo de texto usando vba

Gostaria de saber a primeira linha ou não ao ler um arquivo de texto para editar seus dados. Porque não quero atualizar esses dados em outras linhas.

Quero ramificar meu código na posição marcada com ★.

Qual a melhor maneira para fazer isto?

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

Responder1

Isso é bastante trivial, mas você terá que fazer essa verificação antes de ler a primeira linha.

Se você sempre abre o arquivo, pode ter certeza de que sua primeira iteração estará no início do arquivo:

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

Se você não tiver certeza de que o arquivo estará realmente no início (ou seja, você não o abrirá nessa parte do código):

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

informação relacionada