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 関数を用いて利用可能なファイル番号を取得しています。これにより、他の操作で使用中のファイル番号を避けて、新たにファイルを開くことが可能となります。
