Excel VBA GetOpenFileName

Hay muchas formas de abrir cualquier archivo. Pero también hay varias formas de abrir el mismo archivo. En VBA, tenemos diferentes funciones por las cuales podemos abrir cualquier archivo. Podemos abrir el archivo colocando la ruta del archivo en el código VBA, incluso podemos grabar este proceso también. Pero la mejor manera es abrir cualquier archivo en VBA es con la ayuda de la aplicación VBA GetOpenFileName . Como su nombre lo indica, está hecho exclusivamente para la aplicación al abrir cualquier archivo en VBA.

En otras funciones o aplicaciones que funcionan según el mismo principio, es posible que debamos copiar el archivo del archivo separado por barras diagonales inversas, manteniendo el nombre de la carpeta y los espacios exactos entre la barra diagonal inversa. Además, es posible que debamos ingresar el nombre exacto del archivo junto con la extensión que deseamos abrir. Pero en VBA GetOpenFileName, solo necesitamos seleccionar el archivo desde la ubicación. Le dará el cuadro desde donde podemos examinar el archivo donde se guarda y la extensión del archivo también se solucionará.

Sintaxis de GetOpenFilename en VBA

Veamos debajo de la fórmula para GetOpenFilename en Excel VBA.

A continuación se muestra el argumento de la aplicación VBA GetOpenFileName.

  • FileFilter : en esto, podemos definir qué tipo de archivo queremos ver. Por ejemplo, si mencionamos "Archivos de Excel, *. Xlsx", encontrará y mostrará todos los archivos de Excel en formato .xlsx. Si mencionamos "Archivos PDF, *. Pdf", encontrará y mostrará solo todos los archivos PDF.
  • FilterIndex : con esto, podemos permitir que un usuario restrinja la selección del tipo de archivo. Podemos especificar la cantidad de archivos que necesitamos mostrar.
  • Título : muestra el archivo seleccionado en el título del cuadro de diálogo.
  • ButtonText : es solo para usuarios de MacBook.
  • Selección múltiple: si seleccionamos varios archivos, será VERDADERO o FALSO, que de todos modos es un valor predeterminado.

¿Cómo abrir un archivo usando GetOpenFileName en Excel VBA?

A continuación se muestran los diferentes ejemplos para abrir un archivo utilizando la aplicación GetOpenFileName en Excel VBA.

Puede descargar esta plantilla de Excel GetOpenFileName de VBA aquí - Plantilla de Excel GetOpenFileName de VBA

Excel VBA GetOpenFileName - Ejemplo # 1

En este ejemplo, veremos primero cómo abrir un archivo de Excel. Siga los pasos a continuación para usar GetOpenFileName en Excel VBA:

Paso 1: vaya al menú Insertar y haga clic en Módulo para abrirlo.

Paso 2: Escriba la subcategoría de VBA Getopenfilename o elija cualquier otro nombre según su elección para definir Subcategoría.

Código:

 Sub OpenFile () End Sub 

Paso 3: Ahora defina una variable y dele una Cadena como se muestra a continuación. Elegir una cadena porque elegiremos o seleccionaremos el nombre del archivo.

Código:

 Sub OpenFile () Dim A como String End Sub 

Paso 4: ahora en la variable A definida, use la aplicación como se muestra a continuación.

Paso 5: Ahora busque y seleccione GetOpenFileName de la lista activada de aplicaciones como se muestra a continuación.

Paso 6: Ahora usa MsgBox para que podamos obtener la ubicación del archivo que seleccionamos.

Código:

 Sub OpenFile () Dim A As String A = Application.GetOpenFilename () MsgBox A End Sub 

Paso 7: Ahora compile el código presionando la tecla de función F5 y ejecútelo haciendo clic en el botón Reproducir. Ahora busque el archivo que queremos seleccionar. Aquí hemos seguido la ruta y seleccionado el archivo de Excel denominado como Archivo de prueba que generalmente está en formato .xlsx . Haz clic en Abrir.

Mostrará la ruta de ese archivo que hemos seleccionado previamente en un cuadro de mensaje como se muestra a continuación.

Paso 8: Ahora, según la sintaxis, utilizaremos Filefilter en el soporte de la aplicación GetOpenFilename. Como sabemos, está destinado a elegir el tipo de archivo que queremos abrir. Así que le pondremos "Archivos Excel" como se muestra a continuación.

Código:

 Sub OpenFile () Dim A As String A = Application.GetOpenFilename (Filefilter: = "Excel Files") MsgBox A End Sub 

Paso 9: Ahora coloque la extensión del archivo de Excel que hemos seleccionado anteriormente. Era " .xlsx ", por lo que también lo guardaremos en FileFilter.

Código:

 Sub OpenFile () Dim A As String A = Application.GetOpenFilename (Filefilter: = "Excel Files, * .xlsx") MsgBox A End Sub 

Paso 10: Ahora, volveremos a ejecutar el código completo. En la carpeta de exploración, obtendremos solo archivos de Excel que están disponibles en esa carpeta que hemos examinado anteriormente.

Y si tratamos de ver cualquier otro formato de archivo o extensión en los archivos de Excel desplegable, nuevamente mostrará solo archivos de Excel.

Excel VBA GetOpenFileName - Ejemplo # 2

De la misma manera, podemos ver abrir el nombre del archivo con la extensión " .pdf ". Siga los pasos a continuación para usar GetOpenFileName en Excel VBA:

Paso 1: Ahora vuelve a escribir el código que hemos visto en el ejemplo-1.

Código:

 Sub OpenFile1 () Dim A As String A = Application.GetOpenFilename () MsgBox A End Sub 

Paso 2: Nos llevará a la misma ventana o navegaremos hacia esa misma carpeta. Ahora seleccione cualquiera de los archivos PDF y haga clic en Abrir.

Nos dará la ruta del archivo seleccionado.

Paso 3: Ahora para obtener el archivo PDF seleccionado, en la sintaxis de FileFilter, escriba "Archivos PDF" en lugar de "Archivos Excel" y seleccione la extensión de PDF que es " .pdf " como se muestra a continuación.

Código:

 Sub OpenFile1 () Dim A As String A = Application.GetOpenFilename (Filefilter: = "PDF Files, * .pdf") MsgBox A End Sub 

Paso 4: Compile nuevamente el código y ejecútelo. Obtendremos la carpeta del navegador para abrir los archivos. En eso, solo obtendremos los archivos con la extensión " .pdf " como se muestra a continuación.

Y si intenta filtrar otros formatos de archivo, nuevamente nos permitirá ver solo los archivos PDF solo como se muestra a continuación.

Y si no seleccionamos ningún archivo y salimos de la ventana, aparecerá un mensaje predeterminado que es Falso .

Pros de Excel VBA GetOpenFileName

  • VBA GetOpenFileName nos ayuda a abrir directamente el archivo sin pegar la ruta de ese archivo en el código VBA.
  • No necesitamos cambiar la ruta de los archivos varias veces.
  • Navegar y seleccionar los archivos a través de esto es tan simple como ir a esa carpeta para abrirlo.

Contras de Excel VBA GetOpenFileName

  • Necesitamos cambiar la extensión de un archivo que queremos abrir si hay un cambio en eso.

Cosas para recordar

  • Cambie la extensión del archivo cada vez que necesite abrir una versión diferente del archivo.
  • El cuadro de mensaje con un mensaje como FALSO es el mensaje predeterminado que aparecerá cada vez que no seleccionemos ningún archivo para abrir.
  • Este tipo de proceso no se puede crear con la ayuda de la función Grabar macro.
  • Recuerde guardar el archivo en formato Excel habilitado para macros. Para que se conserve el código escrito de VBA.

Artículos recomendados

Esta es una guía de VBA GetOpenFileName. Aquí discutimos cómo abrir un archivo usando la aplicación GetOpenFileName en Excel usando el código VBA junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. VBA Buscar y reemplazar (ejemplos)
  2. Agrupar hojas de trabajo en Excel
  3. Libro de trabajo de VBA
  4. Referencias de celda en Excel

Categoría: