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

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

Si su procedimiento de VBA necesita pedirle al usuario un nombre de archivo, puede usar la función InputBox y dejar que el usuario de Excel escriba un poco. Sin embargo, un cuadro de entrada no suele ser la mejor herramienta para este trabajo, porque a la mayoría de los usuarios les resulta difícil recordar rutas, barras diagonales inversas, 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, use el método GetOpenFilename del objeto Application, que asegura que su código tenga en sus manos un nombre de archivo válido, incluida su ruta completa. El método GetOpenFilename muestra el conocido cuadro de diálogo Abrir (un timbre muerto para el cuadro de diálogo Excel se muestra cuando elige Archivo → Abrir → Examinar).

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

La sintaxis del método GetOpenFilename

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

object.GetOpenFilename ([fileFilter], [filterIndex],
  [título], [buttonText], [multiSelect])

El método GetOpenFilename toma los siguientes argumentos opcionales.

Argumento Que hace
FileFilter Determina los tipos de archivos que aparecen en el cuadro de diálogo
(por ejemplo, * .TXT). Puede especificar varios filtros para que el usuario
elija.
FilterIndex Determina cuál de los filtros de archivo muestra el cuadro de diálogo de
forma predeterminada.
Título Especifica el título de la
barra de título del cuadro de diálogo .
Botón de texto Ignorado (usado solo para la versión Macintosh de Excel).
Selección múltiple Si es Verdadero, 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 consta de pares de cadenas de filtro de archivo seguidas de la especificación de filtro de archivo comodín, con comas que separan cada parte y par. Si se omite, este argumento tiene como valor predeterminado lo siguiente:

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

Tenga en cuenta 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é archivos muestra el cuadro de diálogo. Por ejemplo, *. * Significa todos los archivos.

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

Sub GetImportFileName ()
  Dim Finfo como cadena
  Atenuar FilterIndex tan largo
  Título atenuado como cadena
  Dim FileName como variante
'Configurar lista de filtros de archivos
  FInfo = "Archivos de texto (* .txt), *. Txt," & _
      "Archivos de Lotus (* .prn), *. Prn," & _
      "Archivos separados por comas (* .csv), *. Csv," & _
      “Archivos ASCII (* .asc), *. Asc,” & _
      "Todos los archivos (*.*),*.*"
'Mostrar *. * Por defecto
  FilterIndex = 5
'Establecer el título del cuadro de diálogo
  Título = "Seleccione un archivo para importar"
'Obtener el nombre del archivo
  FileName = Application.GetOpenFilename (FInfo, _
    FilterIndex, Título)
'Manejar información de devolución desde el cuadro de diálogo
  Si FileName = False, entonces
    MsgBox "No se seleccionó ningún archivo".
  Demás
    MsgBox "Seleccionaste" & FileName
  Terminara si
End Sub

Aquí está el cuadro de diálogo que muestra Excel cuando ejecuta este procedimiento. La apariencia puede variar, según la versión de Windows que utilice y las opciones de visualización que haya configurado.

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

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, haría algo más significativo con el nombre del archivo. Por ejemplo, es posible que desee abrirlo mediante una declaración como esta:

Workbookss.Open FileName

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 (Falso). De lo contrario, FileName es una cadena. Por lo tanto, el uso de un tipo de datos Variant maneja ambas posibilidades.


Cómo programar una reunión de Skype

Cómo programar una reunión de Skype

Aprenda a programar reuniones efectivas en Skype Empresarial desde Outlook o la aplicación de Skype. Siga nuestros sencillos pasos para una mejor colaboración.

Cómo usar Pegado especial en Excel 2016

Cómo usar Pegado especial en Excel 2016

Aprende a usar la función de Pegado Especial en Excel 2016 para optimizar la forma en que insertas datos en tus hojas de cálculo. Controla qué información se pega y realiza operaciones matemáticas simples con facilidad.

Funciones de Excel para trabajar con números hexadecimales, octales, decimales y binarios

Funciones de Excel para trabajar con números hexadecimales, octales, decimales y binarios

Descubre las funciones de Excel para convertir entre binario, octal, decimal y hexadecimal con esta tabla informativa y consejos útiles para optimizar tu trabajo.

Instalar y activar un complemento de Power Query de Excel

Instalar y activar un complemento de Power Query de Excel

Completa guía sobre cómo instalar y activar el complemento de Power Query en Excel 2010 y 2013, y su uso en Excel 2016. Aprende a gestionar datos de manera efectiva en Excel.

Access 2019: Cómo editar y modificar una base de datos de Access

Access 2019: Cómo editar y modificar una base de datos de Access

Aprende a modificar y editar bases de datos en Access 2019, incluyendo cómo nombrar campos, agregar y eliminar campos, y definir tipos de datos. ¡Optimiza tu trabajo con Access!

Cómo usar el comando Ir a en Word 2016

Cómo usar el comando Ir a en Word 2016

El comando Ir a en Word 2016 es una herramienta poderosa para navegar rápidamente a una página específica o a elementos dentro del documento. Aprende a optimizar tu flujo de trabajo con este práctico comando.

Cómo resaltar fechas de fin de semana en Excel

Cómo resaltar fechas de fin de semana en Excel

Aprende cómo resaltar fechas de fin de semana en Excel utilizando formato condicional para mejorar la gestión de tus datos de programación.

Cómo insertar un enlace para enviar un correo electrónico en una hoja de cálculo de Excel 2010

Cómo insertar un enlace para enviar un correo electrónico en una hoja de cálculo de Excel 2010

Aprenda a insertar un hipervínculo "mailto" en Excel 2010 para crear correos electrónicos de manera simple y eficiente.

Cómo usar las opciones de pegado y Pegado especial en Word 2007

Cómo usar las opciones de pegado y Pegado especial en Word 2007

Aprenda a utilizar las opciones de pegado y Pegado especial en Word 2007 para manejar eficazmente bloques de texto. Optimizando su formato y presentación.

Cómo modificar un gráfico SmartArt en PowerPoint

Cómo modificar un gráfico SmartArt en PowerPoint

Descubre cómo modificar un gráfico SmartArt en PowerPoint incluyendo cambios de diseño, estructura y texto. Mejora tus presentaciones con estos consejos SEO.