Es un hecho que cuando encaramos un determinado trabajo (y especialmente si el mismo está referido al manejo de datos) necesitemos restringir muchas de las funciones / herramientas de Excel, para limitar las acciones que nuestros usuarios puedan llevar a cabo sobre las hojas de cálculo. Y también en muchos casos necesitamos dar cierta "soltura" para que se manejen libremente y puedan dar formatos, imprimir y otras cuestiones de acuerdo a los requerimientos del momento y no solamente a lo que hayamos previsto mediante macros.
Aquí los "Dialogs" (o cuadros de diálogo) nos brindarán una ayuda enorme.
uno de los cuadros de diálogo mas utilizados y conocidos: "Guardar como..."
[+/-] Ver el resto / Ocultar
Imaginemos la siguiente situación: genero un reporte, pero debo dar al usuario la libertad de elegir la cantidad de copias a realizar, tipo de papel, orientación del mismo... el código a realizar sería mucho y estaríamos frente a una ardua tarea. Pero, si tengo que dar tanta libertad ¿Por que, directamente, no muestro el "cuadro de diálogo" Imprimir que trae Excel? Estos formularios son muy sencillos de usar y brindarán calidad a nuestro trabajo. Vean el código:
Application.Dialogs(xlDialogPrint).Show
Utilizamos al objeto Application, ya que haremos uso de uno de sus miles de objetos: Dialogs. Entre paréntesis le indicamos cual de todos esos cuadros de diálogos usaremos (hay decenas) y luego invocamos al evento Show, para mostrarlo en pantalla. El resultado:
Todas las opciones de impresión aparecerán en pantalla, y con ello ganamos mucho: ofrecemos a nuestros usuarios la misma interfaz que han visto y usado millones de veces, resultandoles por demás de familiar, y a la vez nos ahorramos muchas líneas de código.
Otra cuestión a tratar es el tema de los formatos. Imaginen que deben crear un formulario que contenga opciones para formatear las celdas, por ejemplo, cambiando las características de la fuente. ¿Para que, si puedo utilizar el de Excel? Con:
Application.Dialogs(xlDialogFormatFont).Show
obtenemos:
y listo, que nuestros usuarios jueguen con todas las opciones disponibles.
¿Hasta labores mas complejas? Si, por supuesto, aquí tenemos vía libre y aprovechar cada uno de los cuadros de diálogo existentes:
La imagen de arriba nos muestra como publicar como una página web, y el código es:
Application.Dialogs(xlDialogPublishAsWebPage).Show
Solo resta practicar con la gran cantidad de cuadros de diálogo existentes, para así tomarles la mano y saber hacer uso de ellos cuando nuestros proyectos así lo requieran.
Una cosa mas: podemos averiguar si el usuario hizo uso o no de ese cuadro de diálogo que le ofrecemos, con lo siguiente:
ret = Application.Dialogs(xlDialogAlignment).Show
En la variable "ret" almaceno uno de dos posibles valores: si "ret" devuelve FALSO, es por que presionaron "cancelar". Mas que útil a la hora de tomar acciones en base a lo realizado.
Suerte y espero que les sea de utilidad.
Comentarios
Publicar un comentario