Note: The function, method, object, or property described in this topic is disabled if the Microsoft Jet Expression Service is running in sandbox mode, which prevents the evaluation of potentially unsafe expressions. For more information on sandbox mode, search for "sandbox mode" in Help.

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


Loc( filenumber )

The required filenumberargument is any valid Integer file 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.


Note: Examples that follow demonstrate the use of this function in a Visual Basic for Applications (VBA) module. For more information about working with VBA, select Developer Reference in the drop-down list next to Search and enter one or more terms in the search box.

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

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

What affected your experience?

Thank you for your feedback!