Open Statement

Description

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

String expression that specifies a file name — may include directory or folder, and drive.

mode

Keyword specifying the file mode: Append, Binary, Input, Output, or Random.

access

Keyword specifying the operations permitted on the open file: Read, Write, or Read Write.

lock

Keyword specifying the operations permitted on the open file by other processes: Shared, Lock Read, Lock Write, Lock Read Write.

filenumber

A valid file number in the range 1 to 511, inclusive. Use the FreeFile function to obtain the next available file number.

reclength

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.

Important

In Binary, Input, and Random modes, you can open a file using a different file number without first closing the file. In Append and Output modes, you must close a file before opening it with a different file number.

On the Macintosh, the file mode specified in the Open statement determines the initial Creator and Type property settings:

File mode

Creator

Type

Output

????

TEXT

Append

????

TEXT

Random

????

OBIN

Binary

????

OBIN

Unspecified

????

OBIN


See Also

Close Statement, FreeFile Function.

Example

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


' Open in sequential-input mode.
Open "TESTFILE" For Input As #1

' Open in binary-file mode for writing operations only.
Open "TESTFILE" For Binary Access Write As #1

' Open file in random-access mode. The file contains records of the
' user-defined type Record.
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)

' Open for sequential output; any process can read/write to file.
Open "TESTFILE" For Output Shared As #1

' Open in binary-file mode for reading; other processes can't read 
' file.
Open "TESTFILE" For Binary Access Read Lock Read As #1