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

0

Eu 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 usando um ★.

Qual é a melhor maneira de fazer isso?

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
    
por user275763 06.12.2013 / 09:23

1 resposta

0

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

Se você sempre abrir o arquivo por conta própria, pode ter certeza de que sua primeira iteração está 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 sabe ao certo que o arquivo realmente estará no começo (ou seja, você não está abrindo essa 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
    
por 06.12.2013 / 09:50