Cómo abrir libro con nombre de variable con Excel VBA

  • Compartir Este
Hugh West

Naturalmente, puede que tengamos que abrir el archivo de un archivo de Excel padre utilizando VBA en un directorio diferente. Pero al mismo tiempo, tenemos varios tipos de criterios también acerca de cómo queremos abrir el libro de trabajo. Si tienes curiosidad por saber cómo se puede abrir un libro de trabajo con el nombre variable, entonces este artículo puede ser útil para usted. En este artículo, discutimos cómo se puede abrir un libro de trabajo con nombre variableutilizando VBA en Excel con explicaciones elaboradas.

Descargar el cuaderno de prácticas

Descárgate este cuaderno de prácticas.

Abrir Libro de Trabajo con Nombre de Variable Usando VBA.xlsm

Muestra.xlsx

4 maneras fáciles de abrir el libro de trabajo con nombre de variable utilizando VBA en Excel

Vamos a utilizar el siguiente conjunto de datos para la demostración. Tenemos la información de varios productos con su Id. este es un archivo de ejemplo que vamos a abrir utilizando el código VBA.

1. Uso de la propiedad Workbook.Open

Utilización de la Libro de trabajo.Abrir podemos abrir archivos mencionando el directorio, o no mencionando la ubicación. También podemos hacer que el archivo abierto sea de sólo lectura.

1.1 Abrir el libro de trabajo mencionando la ruta del archivo

En el siguiente método, vamos a utilizar el método Propiedad Workbook.Open para abrir el archivo directamente desde el directorio de ubicación del archivo mencionado. No importa dónde se encuentre el archivo, podemos abrirlo fácilmente.

Pasos

  • Tenemos un archivo almacenado en la carpeta de documentos que necesitamos abrir.
  • Utilizaremos el nombre del archivo como variable y luego abriremos el archivo utilizando una pequeña macro VBA.
  • El directorio exacto del archivo se muestra a continuación en la ventana de propiedades.

  • En primer lugar, vaya a la página Desarrollador y haga clic en Visual Basic Si no tienes eso, tienes que... activar la pestaña Desarrollador O también puedes pulsar ' Alt+F11 para abrir el Editor de Visual Basic .

  • Entonces aparecerá un nuevo cuadro de diálogo, en ese cuadro de diálogo, haga clic en el botón Inserte > Módulo .

  • A continuación, en el Módulo escriba el siguiente código:
 Sub Open_with_File_Path() Dim Open_File As String: File_path = "C:³³Users\User\OneDrive\Documents\Sample" Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:=File_path) End Sub 

  • A continuación, cierre el Módulo ventana.
  • A continuación, vaya a Ver tab> Macros .
  • A continuación, haga clic en Ver macros .

  • Después de pulsar Ver macros, seleccione las macros que acaba de crear, cuyo nombre es Abrir_con_ruta_de_archivo A continuación, haga clic en Ejecutar .

  • Después Muestra se va a abrir.

🔎 Desglose del código

 Sub Abrir_con_ruta_de_archivo() 

⮚ En primer lugar, proporcionamos un nombre para el subprocedimiento que es Abrir_con_ruta_de_archivo .

 Dim Open_File As String: File_path = "C:³³User³OneDrive³Documents³Sample" 

⮚ A continuación, ponemos la ubicación del archivo en la carpeta Ruta_archivo variable

 Dim wrkbk As Workbook 

⮚ A continuación, declaramos nuestra variable wrkbk cuyo tipo es un libro de trabajo.

 Set wrkbk = Libros_de_trabajo.Open(Nombre_archivo:=Ruta_archivo) 

⮚ A continuación, abrimos el archivo nombrado en el Ruta_archivo y establece el archivo como wrkbk variable.

 Fin Sub 

⮚ Por último, terminamos el subprocedimiento de este código.

Más información: Cómo Abrir Libro de Trabajo desde la Ruta Usando Excel VBA (4 Ejemplos)

1.2 Abrir el libro de trabajo sin mencionar la ruta del archivo

En el siguiente método, abriremos el archivo desde la carpeta padre, donde está guardado el archivo principal. El archivo se puede abrir sin mencionar ninguna ubicación en el código, sólo tiene que estar en la misma carpeta que la carpeta padre.

Pasos

  • Tenemos un archivo diferente guardado en el mismo directorio donde ahora está guardado el archivo Excel padre.
  • El nombre del archivo es 1.

  • En primer lugar, vaya a la página Desarrollador y haga clic en Visual Basic Si no tienes eso, tienes que... activar la pestaña Desarrollador O también puede pulsar ' Alt+F11 ' para abrir el Editor de Visual Basic .

  • Entonces aparecerá un nuevo cuadro de diálogo, en ese cuadro de diálogo, haga clic en el botón Inserte > Módulo .

  • A continuación, en el Módulo escriba el siguiente código:
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub 

  • A continuación, cierre el Módulo ventana.
  • A continuación, vaya a Ver tab> Macros .
  • A continuación, haga clic en Ver macros .

  • Después de hacer clic en Ver macros, seleccione las macros que acaba de crear, cuyo nombre es Abrir_sin_ruta_de_archivo A continuación, haga clic en Ejecutar.

  • Tras pulsar Ejecutar Observará que el fichero 1 está abierto.
  • Y así es como abrimos el libro con nombre de variable usando VBA en Excel.

🔎 Desglose del código

 Sub Abrir_sin_ruta_de_archivo() 

⮚ En primer lugar, proporcionamos un nombre para el subprocedimiento que es Sub Abrir_sin_ruta_de_archivo()

 Dim wrkbk As Workbook 

Declaramos wrkbk como variable de tipo Workbook

 Set wrkbk = Libros de trabajo.Abrir(Nombre de archivo:="1.xlsx") 

⮚ Abrimos archivo del directorio padre llamado 1.xlsx .

 Fin Sub 

⮚ Por último, terminamos el subprocedimiento de este código.

1.3 Abrir el Libro de Trabajo como Sólo Lectura

El método es bastante similar al primero, pero aquí abriremos el archivo en modo de sólo lectura, lo que significa que no podremos alterar ningún dato o valor del archivo Excel.

Pasos

  • El archivo que queremos abrir está guardado en la carpeta de documentos.
  • Y este es el archivo que queremos abrir como sólo lectura.

  • En primer lugar, vaya a la página Desarrollador y haga clic en Visual Basic Si no tienes eso, tienes que... activar la pestaña Desarrollador O también puedes pulsar ' Alt+F11 ' para abrir el Editor de Visual Basic.

  • Entonces aparecerá un nuevo cuadro de diálogo, en ese cuadro de diálogo, haga clic en el botón Inserte > Módulo .

  • A continuación, en el Módulo escriba el siguiente código:
 Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub 
  • A continuación, cierre el Módulo ventana.
  • Después, vaya a Ver tab> Macros .
  • A continuación, haga clic en Ver macros .

  • Después de hacer clic en Ver macros, seleccione las macros que acaba de crear, cuyo nombre es Abrir_con_archivo_sólo_lectura A continuación, haga clic en Ejecutar .

  • Después de pulsar Ejecutar veremos que el archivo se abre ahora como sólo lectura, como se muestra en la barra de título.

🔎 Desglose del código

 Sub Abrir_con_archivo_solo_lectura() 

⮚ En primer lugar, proporcionamos un nombre para el subprocedimiento que es Abrir_con_archivo_sólo_lectura()

 Dim wrkbk As Workbook 

Declaramos wrkbk como variable en Workbook type

 Set wrkbk = LibrosDeTrabajo.Open("C:³³Usuario³OneDrive³Documents³Sample", ReadOnly:=True) 

⮚ A continuación, el archivo se abrirá desde el directorio designado, y el archivo se establecerá sólo lectura por el último argumento.

 Fin Sub 

⮚ Por último, terminamos el subprocedimiento de este código.

Más información: Cómo abrir el libro de trabajo como de sólo lectura con Excel VBA

2. Uso del buzón de mensajes

Casi similar al método anterior, podemos abrir archivos a través del código VBA aquí en Excel, pero en este caso, vamos a incorporar un pequeño cuadro de mensaje aquí.

Pasos

  • En primer lugar, vaya a la página Desarrollador y haga clic en Visual Basic Si no tienes eso, tienes que... activar la pestaña Desarrollador O también puede pulsar ' Alt+F11 para abrir el Editor de Visual Basic .

  • Entonces aparecerá un nuevo cuadro de diálogo, en ese cuadro de diálogo, haga clic en el botón Inserte > Módulo .

  • A continuación, en el Módulo escriba el siguiente código:
 Sub Open_File_with_Messege_Box() Dim path As String: path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" If Dir(path) "" Then Workbooks.Open (path) MsgBox "The File Opened Successfully" Else MsgBox "Opening of the File Failed" End If End Sub 

  • A continuación, cierre el Módulo ventana.
  • A continuación, vaya a Ver tab> Macros .
  • A continuación, haga clic en Ver macros .

  • Después de pulsar Ver macros, seleccione las macros que acaba de crear, cuyo nombre es Abrir_archivo_con_Caja_de_Separación A continuación, haga clic en Ejecutar .

  • Entonces tenemos el cuadro de advertencia, que está mostrando que El archivo se ha abierto correctamente .
  • A continuación, haga clic en OK .

  • Y entonces veremos que el archivo está ahora abierto.

  • Y luego tratamos de alterar el código un poco.
  • Cambiamos el nombre del archivo a Muestra10 y en realidad no hay ningún archivo llamado Muestra10 en la carpeta de documentos.

  • Entonces Ejecutar el código de nuevo, y hay un cuadro de mensaje que dice Error al abrir el archivo .
  • Haga clic en OK después de esto.

🔎 Desglose del código

 Sub Abrir_archivo_con_caja_de_sombreado() 

⮚ En primer lugar, proporcionamos un nombre para el subprocedimiento que es Abrir_con_archivo_sólo_lectura()

 Dim path As String: 

Declaramos wrkbk como variable en el tipo de Libro de Trabajo

 If Dir(ruta) "" Then Libros de Trabajo.Abrir (ruta) 
 MsgBox "El archivo se ha abierto correctamente" Else 

⮚ Esta línea comprobará si el archivo llamado Muestra está disponible en el directorio o no, Si el archivo está allí, entonces se abrirá el archivo y al mismo tiempo se mostrará el mensaje.

 MsgBox "Error al abrir el archivo" 

⮚ Si no hay ningún archivo llamado Muestra en el directorio, se enviará este mensaje.

 Fin If 

⮚ Por último, terminamos el subprocedimiento de este código.

 Fin Sub 

⮚ Por último, terminamos el subprocedimiento de este código.

Más información: Cómo Abrir Libro de Trabajo y Ejecutar Macro Usando VBA (4 Ejemplos)

3. Uso del cuadro de diálogo para abrir un archivo

Extraer el directorio de ubicación de los archivos e importarlos cada vez en el código VBA es bastante engorroso. Para resolver el problema, mostraremos cómo puede utilizar un cuadro de diálogo para seleccionar archivos de cualquier directorio.

Pasos

  • Ahora abriremos el archivo utilizando el cuadro de diálogo del explorador de archivos.
  • En primer lugar, vaya a la página Desarrollador y haga clic en Visual Basic Si no tienes eso, tienes que... activar la pestaña Desarrollador O también puede pulsar ' Alt+F11 para abrir el Editor de Visual Basic .

  • Entonces aparecerá un nuevo cuadro de diálogo, en ese cuadro de diálogo, haga clic en el botón Inserte > Módulo .

  • A continuación, en el Módulo escriba el siguiente código:
 Sub Open_File_with_Dialog_Box() Dim Dbox As FileDialog Dim File_Path As String Dim wrkbk As Workbook Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Elegir y Abrir " & FileType Dbox.Filters.Clear Dbox.Show If Dbox.SelectedItems.Count = 1 Then File_Path = Dbox.SelectedItems(1) End If Set wrkbk = Workbooks.Open(Filename:=File_Path) End Sub 
  • A continuación, cierre el Módulo ventana.
  • A continuación, vaya a Ver tab> Macros .
  • A continuación, haga clic en Ver macros .

  • Después de pulsar Ver macros, seleccione las macros que acaba de crear, cuyo nombre es Abrir_archivo_con_cuadro_de_diálogo A continuación, haga clic en Ejecutar .

  • En el cuadro de diálogo del explorador de archivos y seleccione Muestra y haga clic en OK .

  • A continuación, el archivo denominado Muestra abierto.
  • Y así es como abrimos el libro con nombre de variable usando VBA en Excel.

🔎 Desglose del código

 Sub Abrir_archivo_con_cuadro_de_diálogo() 

⮚ En primer lugar, proporcionamos un nombre para el subprocedimiento que es Sub Abrir_archivo_con_cuadro_diálogo()

 Dim Dbox As FileDialog 

Declaramos Dbox como variable en Diálogo de archivo tipo

 Dim File_Path As String 

Declaramos Ruta_archivo como variable en el Ruta_archivo En Cadena tipo

 Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Elegir y abrir " & FileType 

⮚ Desde la primera línea aparecerá un cuadro de diálogo. La línea siguiente indica el nombre del cuadro de diálogo y el tipo de archivo.

Dbox.Título establecerá el título del cuadro de diálogo. y Tipo de archivo establecer el tipo de archivo.

 Dbox.Filtros.Borrar 

⮚ El Dbox.Filtros.Borrar borrará cualquier filtro anterior aplicado en el cuadro de diálogo

 Dbox.Show 

⮚ El Dbox.Show hará que el cuadro de diálogo aparezca en el archivo.

⮚ Esta línea determinará si el usuario seleccionó más de un archivo o no. Si el usuario selecciona más de un archivo, todo el procedimiento se detendría.

 Fin Sub 

⮚ Por último, terminamos el subprocedimiento de este código.

Más información: Cómo Abrir Carpeta y Seleccionar Archivo Usando Excel VBA (4 Ejemplos)

4. Uso de la propiedad Workbook.Add

A diferencia de los métodos anteriores, crearemos un nuevo archivo Excel en un directorio predeterminado y luego lo abriremos utilizando la función Cuaderno de ejercicios. Añadir propiedad.

Pasos

  • En primer lugar, vaya a la página Desarrollador y haga clic en Visual Basic Si no tienes eso, tienes que... activar la pestaña Desarrollador O también puede pulsar ' Alt+F11 para abrir el Editor de Visual Basic .

  • Entonces aparecerá un nuevo cuadro de diálogo, en ese cuadro de diálogo, haga clic en el botón Inserte > Módulo .

A continuación, en el Módulo escriba el siguiente código:

 Sub Open_File_with_Add_Property() Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" Dim wb As Workbook Set wb = Workbooks.Add(File_Path) End Sub 
  • A continuación, cierre el Módulo ventana.
  • A continuación, vaya a Ver tab> Macros .
  • A continuación, haga clic en Ver macros .

  • Después de pulsar Ver macros, seleccione las macros que acaba de crear, cuyo nombre es Abrir_archivo_con_añadir_propiedad A continuación, haga clic en Ejecutar .

  • Después de pulsar Corre, observará que se ha creado y abierto un nuevo archivo.

🔎 Desglose del código

⮚ En primer lugar, proporcionamos un nombre para el subprocedimiento que es Sub Abrir_archivo_con_añadir_propiedad()

⮚ Entonces declaramos el Ruta_archivo variable como Cadena tipo.

 Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" 

⮚ Y establece el Ruta_archivo a la ubicación del archivo.

 Dim wb As Workbook 

Declaramos wb como variable en el Cuaderno de trabajo tipo.

 Set wb = Libros_de_trabajo.Add(File_Path) 

⮚ A continuación, se añade el libro de trabajo desde el directorio almacenado en la carpeta Ruta_archivo mediante el botón Libro.Añadir propiedad.

 Fin Sub 

⮚ Por último, terminamos el subprocedimiento de este código.

Más información: [Método de apertura de libros de trabajo de objetos fallido (4 soluciones)

Conclusión

Para resumir, la cuestión de cómo podemos abrir libros de trabajo con nombres de variables utilizando VBA se responde aquí con 4 ejemplos diferentes. El Macro VBA método requiere relacionado con VBA conocimientos para comprender desde cero.

Para este problema, se puede descargar un libro de ejercicios con macros en el que podrá practicar estos métodos.

Siéntase libre de hacer cualquier pregunta o comentario a través de la sección de comentarios. Cualquier sugerencia para la mejora de la Exceldemy comunidad será muy apreciable

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.