テキストファイルの終わりまで1行ずつ読み込む方法

◆概要

このページは、Visual Basic 6.0でテキストファイルの終わりまで1行ずつ読み込む方法について記載しています。


テキストファイルから1行ずつファイルの最後まで読み込むには、ファイルシステムオブジェクトのReadLine メソッドとAtEndOfStream プロパティを利用します。


なお、従来のファイル入出力ステートメントを利用する場合は、Line Input#ステートメントとEOF関数を使います。

◆ReadLine メソッドとAtEndOfStream プロパティを使う方法

Private Sub Command1_Click()
    Dim objFileSystem As Object
    Dim objFile       As Object
    Dim strFileName   As String
    
    '読み込むファイル名
    strFileName = "C:\readme.txt"
    
    'ファイルシステムオブジェクトへの参照
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    
    'ファイルを開く
    Set objFile = objFileSystem.OpenTextFile(strFileName)
    
    'ファイルの最後に達するまでループ
    Do Until objFile.atEndOfStream
        'ファイルを1行読み込む
        List1.AddItem objFile.readline
    Loop

    MsgBox "ファイルの最後まで読み込みました。", vbInformation
    
    'ファイルを閉じる
    objFile.Close
    
    'オブジェクトを開放
    Set objFileSystem = Nothing
    Set objFile = Nothing

End Sub
  

◆従来のファイル入出力ステートメントを利用する方法

Private Sub Command2_Click()
    Dim strFileName    As String
    Dim intFileNo      As Integer
    Dim strRecBuff     As String
    Dim lngLineCounter As Integer

    '読み込むファイル名
    strFileName = "C:\readme.txt"
    
    '空いているファイル番号を取得
    intFileNo = FreeFile
    
    'ファイルを開く
     Open strFileName For Input As intFileNo
        
    'ファイルの最後に達するまでループ
     Do Until EOF(intFileNo)
        'ファイルから1行読み込む
        Line Input #intFileNo, strRecBuff
        List1.AddItem strRecBuff
    Loop
    
    'ファイルを閉じる
    Close intFileNo
End Sub
  

◆実行結果

実行結果▼ページトップへ