Loc Function

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

Returns a Long specifying the current read/write position within an open file.



The required filenumber argument is any valid Integerfile number.


The following describes the return value for each file access mode:


Return Value


Number of the last record read from or written to the file.


Current byte position in the file divided by 128. However, information returned by Loc for sequential files is neither used nor required.


Position of the last byte read or written.


This example uses the Loc function to return the current read/write position within an open file. This example assumes that TESTFILE is a text file with a few lines of sample data.

Dim MyLocation, MyLine
Open "TESTFILE" For Binary As #1    ' Open file just created.
Do While MyLocation < LOF(1)    ' Loop until end of file.
    MyLine = MyLine & Input(1, #1)    ' Read character into variable.
    MyLocation = Loc(1)    ' Get current position within file.
' Print to the Immediate window.
    Debug.Print MyLine; Tab; MyLocation
Close #1    ' Close file.