Instrucció Open

Obre un canal de dades.

Sintaxi:

Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]

Paràmetres:

FileName: Nom i camí del fitxer que voleu obrir. Si intenteu llegir un fitxer que no existeix (Accés = Lectura), apareix un missatge d'error. Si intenteu escriure en un fitxer que no existeix (Accés = Escriptura), es crea un fitxer nou.

Mode: Paraula clau que especifica el mode del fitxer. Valors vàlids: Afegeix (afegeix a un fitxer seqüencial), Binari (els bytes poden accedir a les dades amb Get i Put), Entrada (obre el canal de dades per a la lectura), Sortida (obre el canal de dades per a l'escriptura) i Aleatori (edita els fitxers relatius).

IOMode: Paraula clau que defineix el tipus d'accés. Valors vàlids: Lectura (només de lectura), Escriptura (només d'escriptura), Lectura Escriptura (ambdós).

Protegit: Paraula clau que defineix l'estat de seguretat d'un fitxer després d'obrir-lo. Valors vàlids: Compartit (el fitxer es pot obrir amb altres aplicacions) Bloqueig de lectura (el fitxer està protegit contra la lectura), Bloqueig d'escriptura (el fitxer està protegit contra l'escriptura), Bloqueig de lectura i d'escriptura (denega l'accés al fitxer).

FileNumber: Qualsevol expressió d'enter de 0 a 511 per indicar el nombre d'un canal de dades lliure. Podeu passar ordres a través del canal de dades per accedir al fitxer. El nombre del fitxer ha d'estar determinat per la funció FreeFile immediatament abans de l'expressió Open.

DatasetLength: Per a fitxers d'accés aleatori, defineix la longitud dels registres.

Icona de nota

Podeu modificar el contingut d'un fitxer que es va obrir amb l'expressió Open. Si intenteu obrir un fitxer que ja està obert, apareix un missatge d'error.


Exemple:

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, "Això és una línia de text"

    Print #iNumber, "Això és una altra línia de 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