Open Statement

Abre un canal de datos.


Open NomeFicheiro As String [For Modo] [Access ModoES] [Protección] As [#]NúmeroFicheiro As Integer [Len = LonxitudeConxuntoDatos]


FileName: Name and path of the file that you wan 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).

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

Protected: 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).

FileNumber: 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.

DatasetLength: For random access files, set the length of the records.

Icona Nota

Só pode modificar o contido dun ficheiro aberto coa instrución Open. Se tenta abrir un ficheiro xa aberto, móstrase unha mensaxe de erro.


Sub ExampleWorkWithAFile

Dim iNumber As Integer

Dim sLine As String

Dim aFile As String

Dim sMsg As String

    aFile = "c:\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


    Close #iNumber

    MsgBox sMsg

End Sub