Instrucción Open
Abre un canal de datos.
Sintaxis:
Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]
Parámetros:
FileName: nombre y ruta del archivo que quiere abrir. Si intenta leer un archivo que no existe (Access = Read), aparecerá un mensaje de error. Si intenta escribir un archivo que no existe (Access = Write), se creará un archivo nuevo.
Mode: palabra clave que especifica el modo del archivo. Valores válidos: «Append» (añade a un archivo secuencial), «Binary» (se puede acceder a los datos por bytes mediante Get y Put), «Input» (abre el canal de datos para su lectura), «Output» (abre el canal de datos para su escritura) y «Random» (edita archivos relativos).
IOMode: Palabra clave que define el tipo de acceso. Valores válidos: «Read» (solo lectura), «Write» (solo escritura), «Read Write» (ambos).
Protected: palabra clave que define el estado de seguridad de un archivo después de su apertura. Valores válidos: «Shared» (otras aplicaciones pueden abrir el archivo), «Lock Read» (el archivo está protegido contra lectura), «Lock Write» (el archivo está protegido contra escritura) y «Lock Read Write» (impide el acceso al archivo).
FileNumber: cualquier expresión entera, de 0 a 511, que indica el número de un canal de datos libre. A continuación puede pasar órdenes a través del canal de datos para acceder al archivo. El número de archivo debe determinarlo la función FreeFile inmediatamente antes de la instrucción Open.
DatasetLength: Para los archivos de acceso aleatorio, establece la longitud de los registros.
Solo se puede modificar el contenido de los archivos que se hayan abierto con la instrucción Open. Si intenta abrir un archivo que ya está abierto, aparecerá un mensaje de error.
Ejemplo:
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, "Este es un renglón de texto"
Print #iNumero, "Esta es otra línea de texto"
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