Instrucción OpenOpen statement

Permite la entrada y salida (E/S) a un archivo.Enables input/output (I/O) to a file.

SintaxisSyntax

Open pathname For mode [ Access access ] [ lock ] As [ # ] filenumber [ Len = reclength ]Open pathname For mode [ Access access ] [ lock ] As [ # ] filenumber [ Len = reclength ]


La sintaxis de la instrucción Open consta de estas partes:The Open statement syntax has these parts:

PartePart DescripciónDescription
pathnamepathname Obligatorio.Required. Expresión de cadena que especifica un nombre de archivo; se puede incluir un directorio o carpeta y una unidad.String expression that specifies a file name; may include directory or folder, and drive.
modemode Requerido.Required. Palabra clave que especifica el modo de archivo: Append, Binary, Input, Output o Random.Keyword specifying the file mode: Append, Binary, Input, Output, or Random. Si no se especifica, se abre el archivo para acceso aleatorio.If unspecified, the file is opened for Random access.
accessaccess Opcional.Optional. Palabra clave que especifica las operaciones permitidas en el archivo abierto: Read, Write o Read Write.Keyword specifying the operations permitted on the open file: Read, Write, or Read Write.
locklock Opcional.Optional. Palabra clave que especifica las operaciones restringidas en el archivo abierto por otros procesos: Shared, Lock Read, Lock Write y Lock Read Write.Keyword specifying the operations restricted on the open file by other processes: Shared, Lock Read, Lock Write, and Lock Read Write.
filenumberfilenumber Obligatorio.Required. Un número del archivo válido en el intervalo de 1 a 511, ambos inclusive.A valid file number in the range 1 to 511, inclusive. Use la función FreeFile para obtener el siguiente número de archivo disponible.Use the FreeFile function to obtain the next available file number.
reclengthreclength Opcional.Optional. Número menor que o igual a 32 767 (bytes).Number less than or equal to 32,767 (bytes). Para los archivos abiertos para acceso aleatorio, este valor es la longitud del registro.For files opened for random access, this value is the record length. Para los archivos secuenciales, este valor es el número de caracteres almacenados.For sequential files, this value is the number of characters buffered.

ObservacionesRemarks

Debe abrir un archivo antes de poder realizar cualquier operación E/S en él.You must open a file before any I/O operation can be performed on it. Abrir asigna un búfer para E/S al archivo y determina el modo de acceso que se utiliza con el búfer.Open allocates a buffer for I/O to the file and determines the mode of access to use with the buffer.

Si el archivo especificado por pathname no existe, se crea cuando se abre un archivo para los modos Append, Binary, Output o Random.If the file specified by pathname doesn't exist, it is created when a file is opened for Append, Binary, Output, or Random modes.

Si el archivo ya está abierto en otro proceso y el tipo de acceso especificado no está permitido, la operación Abrir no se puede llevar a cabo y se produce un error.If the file is already opened by another process, and the specified type of access is not allowed, the Open operation fails and an error occurs.

La cláusula Len se ignora si mode es Binary.The Len clause is ignored if mode is Binary.

Importante

En los modos Binary, Input y Random, puede abrir un archivo con un número de archivo diferente sin tener que cerrarlo primero.In Binary, Input, and Random modes, you can open a file by using a different file number without first closing the file. En los modos Append y Output, debe cerrar un archivo antes de abrirlo con un número de archivo diferente.In Append and Output modes, you must close a file before opening it with a different file number.

EjemploExample

En este ejemplo se muestran varios usos de la instrucción Abrir para habilitar la entrada y salida a un archivo.This example illustrates various uses of the Open statement to enable input and output to a file.

El siguiente código abre el archivo en modo de entrada secuencial.The following code opens the file in sequential-input mode.

Open "TESTFILE" For Input As #1 
' Close before reopening in another mode. 
Close #1 


En este ejemplo se abre el archivo en modo Binary para operaciones de solo escritura.This example opens the file in Binary mode for writing operations only.

Open "TESTFILE" For Binary Access Write As #1 
' Close before reopening in another mode. 
Close #1 


En el ejemplo siguiente se abre el archivo en modo aleatorio.The following example opens the file in Random mode. El archivo contiene los registros del tipo definido por el usuario.The file contains records of the user-defined type.

Type Record ' Define user-defined type. 
 ID As Integer 
 Name As String * 20 
End Type 
 
Dim MyRecord As Record ' Declare variable. 
Open "TESTFILE" For Random As #1 Len = Len(MyRecord) 
' Close before reopening in another mode. 
Close #1 


Este ejemplo de código abre el archivo de salida secuencial; cualquier proceso puede leer o escribir en el archivo.This code example opens the file for sequential output; any process can read or write to the file.

Open "TESTFILE" For Output Shared As #1 
' Close before reopening in another mode. 
Close #1 

Este ejemplo de código abre el archivo en modo binario para lectura; otros procesos no pueden leer el archivo.This code example opens the file in Binary mode for reading; other processes can't read the file.

Open "TESTFILE" For Binary Access Read Lock Read As #1 

Vea tambiénSee also

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.