EOF Function

This page is specific to the Visual Basic for Applications (VBA) Language Reference for Office 2010.

Returns an Integer containing the Boolean value True when the end of a file opened for Random or sequential Input has been reached.



The required filenumber argument is an Integer containing any valid file number.


Use EOF to avoid the error generated by attempting to get input past the end of a file.

The EOF function returns False until the end of the file has been reached. With files opened for Random or Binary access, EOF returns False until the last executed Get statement is unable to read an entire record.

With files opened for Binary access, an attempt to read through the file using the Input function until EOF returns True generates an error. Use the LOF and Loc functions instead of EOF when reading binary files with Input, or use Get when using the EOF function. With files opened for Output, EOF always returns True.


This example uses the EOF function to detect the end of a file. This example assumes that MYFILE is a text file with a few lines of text.

Dim InputData
Open "MYFILE" For Input As #1    ' Open file for input.
Do While Not EOF(1)    ' Check for end of file.
    Line Input #1, InputData    ' Read line of data.
    Debug.Print InputData    ' Print to the Immediate window.
Close #1    ' Close file.