テキストファイルの内容を変数に保存する方法

◆概要

このページは、Visual Basic 6.0でテキストファイルの内容を変数に保存する方法について記載しています。


テキストファイルから1行ずつ読み込み、その内容を変数に保存するには、ファイルシステムオブジェクトのReadLine メソッドで1行ずつ読み込み、その内容を変数に代入します。


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

◆ReadLine メソッドとAtEndOfStream プロパティを使って変数に保存する方法

次の例は、ReadLine メソッドとAtEndOfStream プロパティを使って変数に保存し、変数の内容をイミディエイトウィンドウとリストボックスに表示します。


次の例を実行する前に、Visual Basic 6.0のメニュー[表示]-[イミディエイトウィンドウ](ショートカットCtrl+G)でイミディエイトウィンドウを表示させておいてください。

Private Sub Command1_Click()
    Dim objFileSystem As Object
    Dim objFile       As Object
    Dim strFileName   As String
    Dim strRecBuff    As String

    'リストボックスをクリア
    List1.Clear
    
    '読み込むファイル名
    strFileName = "C:\Readme.txt"
    
    'ファイルシステムオブジェクトへの参照
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    
    'ファイルを開く
    Set objFile = objFileSystem.OpenTextFile(strFileName)
    
    'ファイルの最後に達するまでループ
    Do Until objFile.atendofstream
        '読み込んだデータを変数に保存
        strRecBuff = objFile.ReadLine
        '読み込んだ内容をイミディエイトウィンドウに表示
        Debug.Print strRecBuff
        'リストボックスに表示
        List1.AddItem strRecBuff
    Loop

    'ファイルを閉じる
    objFile.Close
    
    'オブジェクトを開放
    Set objFileSystem = Nothing
    Set objFile = Nothing

End Sub
  

◆従来のファイル入出力ステートメントを利用して変数に保存する方法

次の例は、従来のファイル入出力ステートメントを利用して変数に保存し、変数の内容をイミディエイトウィンドウとリストボックスに表示します。


次の例を実行する前に、Visual Basic 6.0のメニュー[表示]-[イミディエイトウィンドウ](ショートカットCtrl+G)でイミディエイトウィンドウを表示させておいてください。

Private Sub Command2_Click()
    Dim strFileName As String
    Dim intFileNo   As Integer
    Dim strRecBuff  As String
    
    'リストボックスをクリア
    List1.Clear
    
    '読み込むファイル名
    strFileName = "C:\Readme.txt"
    
    '空いているフィル番号を取得
    intFileNo = FreeFile
    
    'ファイルを開く
    Open strFileName For Input As intFileNo
    
    'ファイルの最後に達するまでループ
    Do Until EOF(intFileNo)
        '読み込んだデータを変数に保存
        Line Input #intFileNo, strRecBuff
        '変数の内容をイミディエイトウィンドウに表示
        Debug.Print strRecBuff
        'リストボックスに表示
        List1.AddItem strRecBuff
    Loop

    'ファイルを閉じる
    Close intFileNo

End Sub
  

◆実行結果

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