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

Open Statement

Opens a data channel.

Syntax:

Open Statement diagram

access fragment diagram

locking fragment diagram


Open pathname For mode [Access io] [locking] As [#]filenum [Len=recLen]

Parameters:

pathname: Path and name of the file to open. If you try to read a file that does not exist (Access = Read), an error message appears. If you try to write to a file that does not exist (Access = Write), a new file is created.

mode: Keyword that specifies the file mode. Valid values: Append (append to sequential file), Binary (data can be accessed by bytes using Get and Put), Input (opens data channel for reading), Output (opens data channel for writing), and Random (edits relative files).

io: Keyword that defines the access type. Valid values: Read (read-only), Write (write-only), Read Write (both).

locking: Keyword that defines the security status of a file after opening. Valid values: Shared (file may be opened by other applications), Lock Read (file is protected against reading), Lock Write (file is protected against writing), Lock Read Write (denies file access).

filenum: Any integer expression from 0 to 511 to indicate the number of a free data channel. You can then pass commands through the data channel to access the file. The file number must be determined by the FreeFile function immediately before the Open statement.

recLen: For Random access files, set the length of the records.

You can only modify the contents of a file that was opened with the Open statement. If you try to open a file that is already open, an error message will appear.

Example:

  Sub ExampleWorkWithAFile      Dim iNumber As Integer      Dim sLine As String      Dim aFile As String      Dim sMsg As String      aFile = "C:\Users\ThisUser\data.txt"      iNumber = Freefile      Open aFile For Output As #iNumber      Print #iNumber, "This is a line of text"      Print #iNumber, "This is another line of text"      Close #iNumber      iNumber = Freefile      Open aFile For Input As iNumber      While Not eof(iNumber)          Line Input #iNumber, sLine          If sLine <>"" Then              sMsg = sMsg & sLine & chr(13)          End If      Wend      Close #iNumber      MsgBox sMsg  End Sub
  Sub ExampleWorkWithAFile      Dim iNumber As Integer      Dim sLine As String      Dim aFile As String      Dim sMsg As String      aFile = "~/data.txt"      iNumber = Freefile      Open aFile For Output As #iNumber      Print #iNumber, "This is a line of text"      Print #iNumber, "This is another line of text"      Close #iNumber      iNumber = Freefile      Open aFile For Input As iNumber      While Not eof(iNumber)          Line Input #iNumber, sLine          If sLine <>"" Then              sMsg = sMsg & sLine & chr(13)          End If      Wend      Close #iNumber      MsgBox sMsg  End Sub  

If the Open statement tries to open a file to which the current user does not have read/write permissions, an I/O error will be raised.