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.

Icono de nota

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

¡Necesitamos su ayuda!