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