Instrucció Open
Obri 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: Afig (afig a un fitxer seqüencial), Binari (els bytes poden accedir a les dades amb Get i Put), Entrada (obri el canal de dades per a la lectura), Eixida (obri 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 ordes 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.
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