如何使用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

相關內容