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

관련 정보