Cómo saber o no la primera línea de un archivo de texto usando vba

Cómo saber o no la primera línea de un archivo de texto usando vba

Me gustaría saber la primera línea o no al leer un archivo de texto para editar sus datos. Porque no quiero actualizar esos datos en otras líneas.

Quiero bifurcar mi código en la posición marcada con ★.

Cual es la mejor manera de hacer esto?

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

Respuesta1

Esto es bastante trivial, pero tendrás que hacer esta comprobación antes de leer la primera línea.

Si siempre abre el archivo usted mismo, puede estar seguro de que su primera iteración estará al principio del archivo:

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

Si no está seguro de que el archivo estará al principio (es decir, no lo va a abrir usted mismo en esa parte del 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

información relacionada