Skip to main content

Open statement

Table of contents
  1. Syntax
  2. Remarks
  3. Examples

Enables input/output (I/O) to a file.

Syntax

Open pathname For mode [ Access access ] [ lock ] As [ # ] filenumber [ Len = reclength ]

The Open statement syntax has these parts:

Part Description
pathname Required. String expression that specifies a file name; may include directory or folder, and drive.
mode Required. Keyword specifying the file mode: Append, Binary, Input, Output, or Random. If unspecified, the file is opened for Random access.
access Optional. Keyword specifying the operations permitted on the open file: Read, Write, or Read Write.
lock Optional. Keyword specifying the operations restricted on the open file by other processes: Shared, Lock Read, Lock Write, and Lock Read Write.
filenumber Required. A valid file number in the range 1 to 511, inclusive. Use the FreeFile function to obtain the next available file number.
reclength Optional. Number less than or equal to 32,767 (bytes). For files opened for random access, this value is the record length. For sequential files, this value is the number of characters buffered.

Remarks

You must open a file before any I/O operation can be performed on it. Open allocates a buffer for I/O to the file and determines the mode of access to use with the buffer.

If the file specified by pathname doesn't exist, it is created when a file is opened for Append, Binary, Output, or Random modes.

If the file is already opened by another process, and the specified type of access is not allowed, the Open operation fails and an error occurs.

The Len clause is ignored if mode is Binary.

Examples

This example illustrates various uses of the Open statement to enable input and output to a file.

The following code opens the file in sequential-input mode.

Open "TESTFILE" For Input As #1 
' Close before reopening in another mode. 
Close #1

This example opens the file in Binary mode for writing operations only.

Open "TESTFILE" For Binary Access Write As #1 
' Close before reopening in another mode. 
Close #1

The following example opens the file in Random mode. The file contains records of the user-defined type.

Type Record ' Define user-defined type.
    ID As Integer
    Name As String * 20
End Type
 
Dim MyRecord As Record ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
' Close before reopening in another mode.
Close #1

This code example opens the file for sequential output; any process can read or write to the file.

Open "TESTFILE" For Output Shared As #1 
' Close before reopening in another mode. 
Close #1

This code example opens the file in Binary mode for reading; other processes can't read the file.

Open "TESTFILE" For Binary Access Read Lock Read As #1

Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>