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

Lof Function

Returns the size of an open file in bytes.

Syntax:


Lof (FileNumber) As Long

Return value:

Long

Parameters:

FileNumber: Any numeric expression that contains the file number that is specified in the Open statement.

To obtain the length of a file that is not open, use the FileLen function.

Error codes:

5 Invalid procedure call

52 Invalid file name or file number

Example:

  Sub ExampleRandomAccess      Dim iNumber As Integer      Dim sText As Variant ' Must be a variant      Dim aFile As String      aFile = "C:\Users\ThisUser\data.txt"      iNumber = Freefile      Open aFile For Random As #iNumber Len=32      Seek #iNumber,1 ' Position at beginning      Put #iNumber, , "This is the first line of text" ' Fill line with text      Put #iNumber, , "This is the second line of text"      Put #iNumber, , "This is the third line of text"      Seek #iNumber,2      Get #iNumber, , sText      Print sText      Close #iNumber      iNumber = Freefile      Open aFile For Random As #iNumber Len=32      Get #iNumber, 2, sText      Put #iNumber, , "This is a new text"      Get #iNumber, 1, sText      Get #iNumber, 2, sText      Put #iNumber, 20, "This is the text in record 20"      Print Lof(#iNumber)      Close #iNumber  End Sub  
  Sub ExampleRandomAccess      Dim iNumber As Integer      Dim sText As Variant ' Must be a variant      Dim aFile As String      aFile = "~/data.txt"      iNumber = Freefile      Open aFile For Random As #iNumber Len=32      Seek #iNumber,1 ' Position at beginning      Put #iNumber, , "This is the first line of text" ' Fill line with text      Put #iNumber, , "This is the second line of text"      Put #iNumber, , "This is the third line of text"      Seek #iNumber,2      Get #iNumber, , sText      Print sText      Close #iNumber      iNumber = Freefile      Open aFile For Random As #iNumber Len=32      Get #iNumber, 2, sText      Put #iNumber, , "This is a new text"      Get #iNumber, 1, sText      Get #iNumber, 2, sText      Put #iNumber, 20, "This is the text in record 20"      Print Lof(#iNumber)      Close #iNumber  End Sub