EOF関数 解説(Excel VBA)

Excel VBA: EOF関数の解説と使用例

EOF(End Of File)関数は、指定したファイル番号のファイルが終わったかどうかを判定するExcel VBAの組み込み関数です。この関数は、ファイルの読み書きを行う際に、まだ読み取り可能なデータが残っているかどうかを確認するために使用されます。

構文

EOF関数の構文は以下の通りです:

    EOF(fileNumber)
  • fileNumber: 確認したいファイルの番号を指定します。この番号は、Openステートメントで開いたファイルに対して割り当てられるものです。

使用例

以下のサンプルコードは、特定のテキストファイルを行ごとに読み取り、その内容をデバッグウィンドウに出力する例です。

    Sub ReadTextFile()
        Dim fileNumber As Integer
        Dim filePath As String
        Dim textLine As String

        ' 対象とするファイルパスを指定
        filePath = "C:\MyDocuments\sample.txt"

        ' ファイルを開く
        fileNumber = FreeFile
        Open filePath For Input As fileNumber

        ' ファイルの終わりまで読み取る
        Do Until EOF(fileNumber)
            Line Input #fileNumber, textLine
            Debug.Print textLine
        Loop

        ' ファイルを閉じる
        Close fileNumber
    End Sub

このコードを実行すると、指定したテキストファイルの内容がVBAのデバッグウィンドウに表示されます。EOF関数は、ファイルの終わりを検出するための強力なツールとなります。

なお、上記のサンプルでは FreeFile 関数を用いて利用可能なファイル番号を取得しています。これにより、他の操作で使用中のファイル番号を避けて、新たにファイルを開くことが可能となります。