VBA GetOpenFilename

GetOpenFilename es un método que también es un atributo de FSO, este método se usa en VBA para encontrar un archivo determinado con un nombre de archivo y seleccionarlo, el factor importante en este método es la ruta del nombre del archivo proporcionado para abrirlo, nosotros podemos pasar la ruta del nombre del archivo en la función o podemos pedirle al usuario que presente una ruta del archivo para seleccionarlo.

Aplicación Excel VBA.GetOpenFilename

Hay situaciones en las que necesitamos acceder al nombre de archivo específico y esto puede ser posible con la codificación VBA. Para acceder al archivo, también debemos mencionar la ruta de la carpeta y el nombre del archivo junto con su extensión. Para obtener el nombre del archivo, muchos codificadores darán un cuadro de entrada VBA como las opciones para ingresar la ruta del archivo y el nombre del archivo. Pero esta no es una buena opción para practicar, porque cuando presenta un cuadro de entrada frente al usuario, no siempre recuerdan la ruta del archivo, barras diagonales inversas para separar una carpeta de otra carpeta, nombres de archivo y extensión de los archivos. . Esto hace que la entrada dada por el usuario sea más complicada y, al final, todo se estropeará incluso si hay un pequeño error de carácter de espacio. La mejor manera es reemplazar el cuadro de entrada con el método de VBA llamado "GetOpenFileName".

En este artículo, le mostraremos cómo usar VBA GetOpenFileName para obtener el nombre del archivo sin errores.

¿Qué hace GetOpenFilename en Excel VBA?

VBA "GetOpenFileName" permite al usuario seleccionar el archivo de la computadora en la que estamos trabajando sin abrir el archivo.

Con la ayuda del método "GetOpenFileName", podemos presentar un cuadro de diálogo frente al usuario para seleccionar el archivo en la carpeta requerida. "GetOpenFileName" copiará la ubicación del archivo junto con el nombre y la extensión del archivo.

Sintaxis de GetOpenFilename en Excel VBA

Eche un vistazo a la sintaxis del método "GetOpenFilename".

  • Filtro de archivos: en este argumento, podemos especificar qué tipo de archivos se mostrarán para seleccionar. Por ejemplo, si menciona “Archivos de Excel, *. Xlsx”, solo se mostrarán los archivos de Excel guardados con la extensión de Excel “xlsx”, no se mostrarán otros archivos. Si ignora todo tipo de archivos se mostrarán.
  • Índice de filtro: Con esto, restringimos al usuario a seleccionar el tipo de archivo. Podemos enumerar especificar el número de filtros que serán visibles en Filtro de archivo.
  • Título: Muestra el título del cuadro de diálogo de selección de archivo.
  • Texto del botón: esto es solo para Macintosh.
  • Selección múltiple: VERDADERO si desea seleccionar varios archivos o FALSO. El valor predeterminado es FALSO.

Ejemplo de GetOpenFilename en Excel VBA

A continuación se muestran los ejemplos de VBA Application.GetOpenFilename.

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

Escribamos un código para obtener el nombre del archivo y la dirección de la ruta.

Paso 1: Inicie la subrutina.

Código:

 Sub GetFile_Example1 () End Sub 

Paso 2: declare una variable como String.

Código:

 Sub GetFile_Example1 () Dim FileName As String End Sub 

Paso 3: Para esta variable, asignaremos GetOpenFileName.

Código:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () End Sub 

A partir de ahora, he ignorado todos los parámetros.

Paso 4: Ahora muestre el resultado de la variable en el cuadro de mensaje.

Código:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Ahora ejecute el código a través de la tecla de acceso directo de Excel F5 o manualmente, se mostrará el cuadro de diálogo a continuación para seleccionar el archivo.

Seleccionaré cualquier archivo y haré clic en Aceptar.

Tan pronto como selecciono el archivo, aparece un cuadro de mensaje en VBA como este. Muestra la ruta completa de la carpeta y el nombre del archivo de Excel seleccionado junto con la extensión del archivo.

Como podemos ver en la imagen de arriba pudimos ver todo tipo de archivos. Ahora agregaré el primer parámetro, es decir, Filtro de archivos como "Archivos de Excel, *. Xlsx".

Código:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Archivos de Excel, *. Xlsx") MsgBox FileName End Sub 

Ahora, si ejecuto este código usando la tecla F5 o manualmente, solo veré archivos de Excel con la extensión "xlsx".

De esta manera, podemos usar el método "VBA Application.GetOpenFileName" para obtener la ruta de la carpeta junto con el nombre de archivo y la extensión del archivo.