Libros de Excel VBA Método abierto
VBA Workbooks.Open Method se utiliza para abrir un libro de Excel desde otro libro de trabajo.
En lo que respecta a VBA, espero que haya visto la magia y las maravillas que VBA puede hacer en su lugar de trabajo. Una de las cosas importantes de VBA es que no limita su trabajo en el mismo libro de trabajo. Más bien, podemos acceder al libro de trabajo que ya no está abierto. Una de esas técnicas es que podemos abrir otro libro de trabajo de un libro de trabajo diferente. En este artículo especial, le mostraremos cómo abrir un libro de Excel usando el método Workbooks.Open en detalle.

Abrir un libro de trabajo del libro de trabajo actual
Imagínese una situación en la que está trabajando con dos libros de trabajo que ya están abiertos. El libro en el que está trabajando se denomina "Libro 1" y otro libro que está abierto pero no activo se denomina "Libro 2".
Dado que estamos trabajando en el "Libro 1" para activar otro libro de trabajo, el "Libro 2", necesitamos especificar el nombre del libro de trabajo con su extensión de archivo utilizando el objeto WORKBOOKS.

Dentro de esto, debemos ingresar el nombre del libro de trabajo y su extensión.

Luego, debemos insistir en lo que debemos hacer con este libro de trabajo. Dado que necesitamos activar este libro, seleccione el método "Activar".

Entonces, este código activará el libro de trabajo "Libro 2.xlsx" si está abierto.
¿Qué pasa si el libro de trabajo "Libro 2.xlsx" no está abierto? ¿Cómo lo abres o lo activas ????
Aquí es donde nuestro método Workbooks.Open entra en escena.
Sintaxis

- Nombre de archivo: el primer argumento de este método es que necesitamos especificar el nombre del libro de trabajo que estamos intentando abrir. El nombre del libro por sí solo no puede hacer el trabajo aquí porque Excel no sabe en qué carpeta se guarda su libro. Por lo tanto, debemos proporcionar una ruta de carpeta completa seguida de un nombre de archivo exacto con su extensión guardada.
- Actualizar enlaces: cuando intentamos abrir el libro de trabajo, es posible que contenga algunos enlaces externos de otros libros de trabajo. Podemos proporcionar sí o no aquí.
- Modo de lectura: ¿Cómo desea abrir el libro de trabajo? Si desea que solo se lea el archivo, entonces TRUE es el argumento.
- Contraseña: si el libro de trabajo de destino o de apertura contiene alguna contraseña, en este argumento, debemos especificar la contraseña que se usó al proteger el libro de trabajo.
Estos cuatro argumentos son suficientemente buenos en este método. No se rompa la cabeza para comprender todos y cada uno de los argumentos porque es posible que nunca surja la necesidad de los argumentos restantes.
Ejemplos
Ejemplo 1
Imagina que estás intentando abrir el archivo llamado "Archivo 1.xlsx" en tu computadora. El archivo se guarda en tantas carpetas y subcarpetas. Para abrirlo a través de la codificación VBA, siga los pasos a continuación.
Paso 1: Inicie el subprocedimiento.
Código:
Sub Workbook_Example1 () End Sub

Paso 2: Dentro del subprocedimiento VBA, inicie el método Workbooks.Open.

Paso 3: Lo primero que debemos mencionar es presentar un nombre con la ruta de la carpeta y la extensión del archivo.
Para esto primero, necesitamos abrir la ubicación exacta del archivo.

Ahora lo que tienes que hacer es copiar la ruta del archivo usando la ruta de la carpeta.

Paso 4: Ahora copie el enlace y péguelo en la codificación de la siguiente manera.
Código:
Sub Workbook_Example1 () Workbooks.Open Filename: = "D: Archivos de Excel VBA File1.xlsx" End SubM

Entonces, ahora hemos copiado y pegado la ruta del archivo donde está almacenado. En esta ruta de archivo mencionada, puede contener muchos archivos, por lo que después de esto, primero ingrese la barra diagonal hacia atrás y luego ingrese el nombre del archivo con una extensión.
Código:
Sub Workbook_Example1 () Workbooks.Open Filename: = "D: Excel Files VBA File1.xlsx" End Sub

Ahora ignore todos los demás argumentos.
Paso 5: Ejecuta el código. Abrirá el libro de trabajo llamado "Archivo 1.xlsx".
Entonces, nuestro código acaba de abrir el libro de trabajo mencionado en la ruta de la carpeta mencionada.
Ejemplo # 2
The best and efficient way of using VBA coding boils down to the use of variables while coding. Because as part of a large VBA project, we may need to open other files in between the coding, so in such a situation,ns use of variables is going to play an important role.
The same file can be opened by using variables as well. For this, declare two variables as a string data type.
Code:
Sub Workbook_Example2() Dim File_Location As String Dim File_Name As String End Sub

For the File_Location variable, assign the folder path where the file is stored.
Code:
Sub Workbook_Example2() Dim File_Location As String Dim File_Name As String File_Location = "D:Excel FilesVBA " End Sub

Note: One extra thing we need to do is after pasting the link, we need to put backward slash.
Now for the File_Name variable, we need to mention the file name with its excel extension.
Code:
Sub Workbook_Example2() Dim File_Location As String Dim File_Name As String File_Location = "D:Excel FilesVBA " File_Name = "File1.xlsx" End Sub

Now, these two variables combine to create a full folder path.
Now open Workbooks.Open method again in excel VBA.

For the first argument supply, two variable names with an ampersand (&) sign.
Code:
Sub Workbook_Example2() Dim File_Location As String Dim File_Name As String File_Location = "D:Excel FilesVBA " File_Name = "File1.xlsx" Workbooks.Open File_Location & File_Name End Sub

So now, we can change the folder path and file name whenever we want to for just variables, so wherever we use variables, it will reflect the changes instantly.
Things to Remember
- Nunca ingrese la ubicación del archivo manualmente porque el 99% de las veces cometemos errores al escribir la ubicación, así que copie solo desde la ubicación.
- Para separar la ubicación y el archivo, debemos ingresar una barra inclinada hacia atrás () manualmente.
- Si el archivo está protegido por una contraseña, utilice el argumento PASSWORD en el método Workbooks.Open.