Cómo usar el método GetOpenFilename en Excel 2016 VBA

  1. Software
  2. Oficina de Microsoft
  3. Excel
  4. Cómo usar el método GetOpenFilename en Excel 2016 VBA

Libro Relacionado

Programación de Excel VBA para Dummies, 4ª Edición

Por John Walkenbach

Si su procedimiento VBA necesita pedirle al usuario un nombre de archivo, puede utilizar la función InputBox y dejar que el usuario de Excel escriba algo. Sin embargo, un cuadro de entrada no suele ser la mejor herramienta para este trabajo, ya que a la mayoría de los usuarios les resulta difícil recordar rutas, barras invertidas, nombres de archivo y extensiones de archivo. En otras palabras, es demasiado fácil equivocarse al escribir un nombre de archivo.

Para una mejor solución a este problema, utilice el método GetOpenFilename del objeto Aplicación, que asegura que su código tenga en sus manos un nombre de archivo válido, incluyendo su ruta completa. El método GetOpenFilename muestra el conocido cuadro de diálogo Abrir (un timbre muerto para el cuadro de diálogo que Excel muestra cuando se selecciona Archivo → Abrir → Examinar).

El método GetOpenFilename no abre el archivo especificado. Este método simplemente devuelve el nombre de archivo seleccionado por el usuario como una cadena. Luego puedes escribir código para hacer lo que quieras con el nombre de archivo.

La sintaxis del método GetOpenFilename

La sintaxis oficial del método GetOpenFilename es la siguiente:

GetOpenFilename ([fileFilter],[filterIndex],[title],[buttonText],[multiSelect])

El método GetOpenFilename toma los argumentos opcionales de abajo.

ArgumentWhat It DoesFileFilterDetermina los tipos de archivos que aparecen en el cuadro de diálogo
(por ejemplo, *.TXT). Puede especificar varios filtros para el usuario
para elegir entre.FilterIndexDetermina cuál de los archivos filtra el cuadro de diálogo por
default.TitleEspecifica el título del cuadro de diálogo
bar.ButtonTextIgnored (usado sólo para la versión Macintosh de Excel).MultiSelectIf True, el usuario puede seleccionar varios archivos.

Un ejemplo de GetOpenFilename

El argumento fileFilter determina lo que aparece en la lista desplegable Archivos de tipo del cuadro de diálogo. Este argumento consiste en pares de cadenas de filtros de archivos seguidos de la especificación del filtro de archivos comodín, con comas que separan cada parte y cada par. Si se omite, este argumento por defecto es el siguiente:

Todos los archivos (*.*), *.*

Observe que esta cadena consta de dos partes, separadas por una coma:

Todos los archivos (*.*)

y

*.*

La primera parte de esta cadena es el texto que se muestra en la lista desplegable Archivos de tipo. La segunda parte determina qué ficheros muestra el cuadro de diálogo. Por ejemplo, *.* significa todos los archivos.

El código del ejemplo siguiente abre un cuadro de diálogo que pide al usuario un nombre de archivo. El procedimiento define cinco filtros de archivos. Observe que la secuencia de continuación de línea VBA se utiliza para configurar la variable Filter; hacerlo ayuda a simplificar este argumento bastante complicado.

Sub GetImportFileName () Dim Finfo As String Dim FilterIndex As Long Dim Title As String Dim FileName As Variant' Configurar la lista de filtros de archivos FInfo = "Text Files (*.txt),*.

t

xt," & _ "Lotus Files (*.prn),*.prn," & _ "Comma Separated Files (*.csv),*.csv," & _ "ASCII Files (*.asc),*.asc," & _ "All Files (*.*),*.*"''. Mostrar *.* por defecto FilterIndex = 5' Establecer el título del cuadro de diálogo Título = "Select a File to Import"'' Obtener el nombre del archivo FileName = Application.GetOpenFilename (FInfo, _ FilterIndex, Title)' Manejar la información de devolución del cuadro de diálogo Si FileName = False Then MsgBox "No se seleccionó ningún archivo". Else MsgBox "You selected " & FileName End IfEnd Sub

A continuación se muestra la ventana de diálogo que Excel visualiza al ejecutar este procedimiento. El aspecto puede variar, dependiendo de la versión de Windows que use y de las opciones de visualización que haya establecido.

El método GetOpen Filename muestra un cuadro de diálogo personalizable y devuelve la ruta y el nombre del archivo seleccionado. No abre el archivo.

En una aplicación real, usted haría algo más significativo con el nombre de archivo.

Por ejemplo, es posible que desee abrirlo utilizando una expresión como ésta:

Libros de trabajo: Abrir nombre de archivo

Observe que la variable FileName se declara como un tipo de datos Variant. Si el usuario hace clic en Cancelar, esa variable contiene un valor booleano (False). De lo contrario, FileName es una cadena. Por lo tanto, la utilización de un tipo de datos de variante maneja ambas posibilidades.

No Responses

Write a response