martes, 9 de mayo de 2017

Usando el método GetOpenFilename de vba en nuestras Macros

Hoy vamos a trabajar con el método GetOpenFilename del objeto Application en Excel

Dicho método, lo podemos utilizar en las macros que escribamos en vba, cuando necesitemos que el usuario tenga que interactuar con la aplicación y deba suministrar un nombre de archivo y una ruta para que la macro realice alguna operación con el mismo.

Ademas, al hacerlo de esta forma le vamos a dar un toque mucho más profesional a nuestra macro.


Cuando invocamos el método GetOpenFilename abre el siguiente cuadro de diálogo:



Este cuadro es familiar para todos los que trabajamos con Excel o con cualquier aplicación de Office. Basta con navegar en las distintas carpetas hasta encontrar el archivo que queremos, seleccionarlo y dar clic en el botón Abrir.

 Lo que vamos a hacer es escribir una sencilla macro como ven a continuación:



La primera linea, llama el cuadro de diálogo y asigna el valor de retorno del mismo a la variable arch. Este método nos devuelve una cadena de texto que contiene el nombre del archivo y la ruta en la que este se encuentra.


La segunda línea, se utiliza para imprimir en la ventana inmediato de nuestro editor de vba. En este caso, le estamos ordenando que imprima el valor que tiene la variable arch, así que si todo sale bien, en la ventana inmediato debería salir el nombre del archivo y la ruta que seleccionemos:




Vamos a probar nuestra macro paso a paso con F8:




En este punto nuestra macro va a llamar el método y se abrirá el cuadro de diálogo y vamos a seleccionar un archivo:




Damos clic en Abrir:




Y como pueden ver, el método ha devuelto el nombre del archivo y la ruta del mismo. Estos datos fueron almacenados en la variable arch y se imprimieron en la ventana inmediato.

Teniendo el archivo y la ruta, podemos usar esa información para abrirlo, sacar una copia del mismo, enviarlo como un adjunto en un correo electrónico, enviarlo a otra dirección en un servidor de archivos etc.

Este es el código fuente:

Sub abrir_archivo() Espero les sirva. Hasta una próxima.

No hay comentarios.:

Publicar un comentario