Actualmente es posible realizar lo que tú quieras mediante el desarrollo de macros en QlikView. En este artículo, vamos a desarrollar una que nos permita crear un documento Word, escribir un texto y guardarlo en una ruta.
¿Qué son las macros?
Cualquier persona que alguna vez ha programado macros para Microsoft Office, sabrá de su importancia para poder automatizar tareas y de su utilización en el mundo laboral actual.
Mediante macros podemos conseguir cualquier automatización, desde editar todos los títulos de un documento Word, hasta copiar valores de una celda a otra con tan sólo un botón en una hoja de cálculo Excel.
Macros en QlikView. ¿Para qué sirven?
QlikView incorpora un editor que permite desarrollar módulos en diferentes lenguajes de programación. De esta manera, es posible ejecutar macros que automatizan tareas, tanto dentro del documento como en otras aplicaciones, como Microsoft Office.
En este artículo, nos centraremos especialmente en el lenguaje VBScript, el cual nos permitirá realizar el ejercicio planteado.
¿Cuál es el objetivo de la macro?
El objetivo es el siguiente:
- Crear un documento Word.
- Copiar un texto elegido por el usuario.
- Guardar el documento en una ruta determinada.
A primera vista parece complicado programar macros en QlikView, no? Sin embargo, veréis que resultará más sencillo de lo que pensáis.
¿Por dónde empezamos?
Para empezar, crearemos un nuevo documento QlikView que contendrá tres objetos diferentes:
- 2 de tipo ‘Cuadro de entrada’.
- 1 de tipo ‘Botón’.
A continuación, necesitaremos crear dos nuevas variables. Nos servirán para guardar la ruta y el texto que especificará el usuario en el documento Word. Una vez lo tengamos desarrollado, necesitaremos crear las siguientes funciones en lenguaje VBScript dentro del editor de módulo:
1) imprimirTexto(): Sus funciones serán la de crear el documento Word, introducir el texto especificado por el usuario y guardar el documento en la ruta.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Function imprimirTexto() 'Para empezar, guardaremos la ruta del documento Word rutaWord = ActiveDocument.GetVariable("vRutaWord").GetContent().String textoImprimir = ActiveDocument.GetVariable("vTexto").GetContent().String 'Después, creamos el objeto Word y abrimos un nuevo documento Set objWord = CreateObject("Word.Application") objWord.visible = true Set objDoc=objWord.Documents.add 'Imprimimos el texto en el documento objWord.Selection.TypeText textoImprimir 'Especificamos el nombre del archivo del documento Word nombreArchivo = "DanielGarciaMejia" 'Para acabar, guardamos el documento Word objDoc.SaveAs rutaWord & nombreArchivo 'Finalmente, cerramos el documento Word objWord.Quit End Function |
2) generarWord: Es el procedimiento principal de la macro, el cuál genera el documento Word y muestra las notificaciones durante la ejecución.
1 2 3 4 5 6 7 8 9 10 | Sub generarWord Msgbox "A continuación, se generará el documento Word en la ruta especificada." 'Finalmente, ejecutamos la función principal de la macro imprimirTexto Msgbox "El documento Word se ha generado con éxito en la ruta especificada." End Sub |
No puedo ejecutar la macro. ¿Por qué?
Para la correcta ejecución de las macros en QlikView, es necesario que la seguridad local actual sea ‘Permitir Acceso al Sistema’. Esta opción se encuentra situada en el menú inferior izquierdo dentro del ‘Editor de Módulo‘:
Vista previa del Ejercicio 1:
Finalmente, encontraréis el enlace para descargar el ejercicio práctico y que lo podáis probar vosotros mismos en la versión QlikView Personal Edition:
En conclusión: ¿Qué os parecen las macro en QlikView? ¿Os resultan útiles?
Ahora es vuestro turno. Solamente con prueba y error, lograreis desarrollar todas las macros en QlikView que os propongáis.