Text Documents (Writer)
HTML Documents (Writer Web)
Spreadsheets (Calc)
Presentations (Impress)
Drawings (Draw)
Database Functionality (Base)
Formulae (Math)
Charts and Diagrams
Macros and Scripting
Office Installation
Common Help Topics
OneOffice Logo

Eof Function

Determines if the file pointer has reached the end of a file.

Syntax:


Eof (intexpression As Integer)

Return value:

Bool

Parameters:

Intexpression: An integer expression that evaluates to the number of an open file.

Use EOF to avoid errors when you attempt to get input past the end of a file. When you use the Input or Get statement to read from a file, the file pointer is advanced by the number of bytes read. When the end of a file is reached, EOF returns the value "True" (-1).

Error codes:

5 Invalid procedure call

52 Invalid file name or file number

Example:

  Sub ExampleWorkWithAFile      Dim iNumber As Integer      Dim sLine As String      Dim aFile As String      Dim sMsg As String      aFile = "C:\Users\ThisUser\data.txt"      iNumber = Freefile      Open aFile For Output As #iNumber      Print #iNumber, "This is a line of text"      Print #iNumber, "This is another line of text"      Close #iNumber      iNumber = Freefile      Open aFile For Input As iNumber      While Not eof(iNumber)          Line Input #iNumber, sLine          If sLine <>"" Then              sMsg = sMsg & sLine & chr(13)          End If      Wend      Close #iNumber      MsgBox sMsg  End Sub
  Sub ExampleWorkWithAFile      Dim iNumber As Integer      Dim sLine As String      Dim aFile As String      Dim sMsg As String      aFile = "~/data.txt"      iNumber = Freefile      Open aFile For Output As #iNumber      Print #iNumber, "This is a line of text"      Print #iNumber, "This is another line of text"      Close #iNumber      iNumber = Freefile      Open aFile For Input As iNumber      While Not eof(iNumber)          Line Input #iNumber, sLine          If sLine <>"" Then              sMsg = sMsg & sLine & chr(13)          End If      Wend      Close #iNumber      MsgBox sMsg  End Sub