You are on page 1of 13

Un Generador de Formularios con Word y VBA

Mi inters en el VBA parti de la necesidad de automatizar algunos trabajos


tpicos de oficina, creando plantillas para personas que no tenan el tiempo,
ni las ganas de aprender nada aparte del manejo bsico del procesador de
textos.
Una de las aplicaciones ms obvias es la automatizacin de
documentos-tipo, con partes fijas y otras que pueden variar. Como vimos en
la leccin anterior, combinando los campos de formulario con los macros en
VBA se puede lograr un alto grado de automatizacin de estas tareas con
un mnimo trabajo de parte del usuario final.
Pero subsiste un problema prctico; que muchas veces el trabajo requerido
para programar estas macros y mantenerlas (modificarlas) es tan grande
que se hace muy difcil de implementar en entornos con muchos usuarios y
donde se necesitan muchas plantillas de documentos distintos.
Enfrentado a este problema trabajando con uno de mis clientes (tribunales)
pens que el ideal sera programar una sola plantilla que permita al mismo
operador crear y configurar las plantillas que vaya necesitando, el resultado
de esto es el generador de formularios que aqu se muestra, desarrollado
paso a paso:
Descripcin de la plantilla
Todo el sistema est programado dentro de una sola plantilla de Word 97
(SR-1), lo que lo hace extremadamente portable y sencillo de mantener.
Adicionalmente el sistema lleva un registro histrico de los documentos
emitidos lo que permite que el funcionario lleve de manera automtica un
inventario de las causas de acuerdo a los formularios que estas generan.
Cdigo Fuente
Haciendo click Aqu podr acceder al cdigo fuente completo, junto con el
diseo de los formularios
Como se usa el sistema
La pantalla principal de la plantilla es una hoja normal del Word, en blanco,
excepto por el botn de plantilla (con icono de balanza) en la barra de
tareas
Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
1 de 13 13/09/2014 22:24

Al hacer click en el botn de plantilla aparece una lista con las plantillas
disponibles entre las cuales se puede escoger (en este ejemplo estn
disponibles solo dos plantillas)

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
2 de 13 13/09/2014 22:24

Al escoger, por ejemplo la plantilla "AUTOPSIA.DOT" se carga un formulario
predeterminado con sus respectivos campos (TRIBUNAL, CIUDAD,
FECHA_ACTUAL, MEDICO, ROL, MUERTO, JUEZ, SECRETARIO.
Tambin se carga una ventana para el llenado de los campos de formulario
con las correspondientes cajas de texto y combobox, que permitirn
ingresar los datos al formulario, tal como se muestra en la siguiente figura

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
3 de 13 13/09/2014 22:24
En este caso solo se pide el ingreso del ROL (nmero del proceso) y el
nombre del muerto. El nombre del mdico se escoge de uno de los que
aparecen en el combobox.
Ntese que la plantilla no pide los datos para el tribunal, ciudad, nombre del
juez y del secretario. Como estos datos son comunes y se usan en varias
plantillas son ingresadas en un archivo aparte (tambin editable) como
"datos fijos". Al ingresar estos datos la plantilla es llenada automticamente
como se muestra a continuacin

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
4 de 13 13/09/2014 22:24

Diseo de nuevas plantilla y edicin de las ya existentes
La caracterstica ms importante del sistema es que permite automatizar el
diseo de nuevas plantillas as como la modificacin de las ya existentes.
Ambas tareas pueden ser llevadas a cabo por el propio usuario sin requerir
de mucho esfuerzo ni avanzados conocimientos.
Para editar una plantilla la existente (por ejemplo para agregarle un nuevo
campo) pulsamos el botn 'configurar' que aparece tanto en la pantalla
principal como en la de ingreso de datos, all se cargar la pantalla de
configuracin

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
5 de 13 13/09/2014 22:24

Esta pantalla nos muestra las posibilidades de diseo para nuestra plantilla,
nos permite determinar que cajas de texto y que combobox tendr la
pantalla de ingreso de datos (las cuatro primeras cajas de color amarillo
corresponden a los combobox, las seis siguientes son cajas de texto), al
lado de cada entrada est el casillero para ingresar la correspondiente
variable, en la tercera columna aparece en primer lugar una caja donde se
ingresa el nombre de la plantilla (que tiene que coincidir con el nombre de
nuestra plantilla en Word), abajo hay dos casilleros para colocar nombres de
variables adicionales y cuatro checkbox para indicar si el documento debe
incluir alguno de los siguientes datos fijos: tribunal, ciudad, juez y secretario.
En el extremo derecho hay una seccin para ingresar hasta 3 valores para
cada combo box y finalmente en la parte inferior estn los botones para
editar (buscar una plantilla ya existente), corregir (grabar los datos
modificados) y agregar (agregar una platilla nueva).
Supongamos que queremos definir una nueva plantilla que se llamar
ENTREGA VEHICULO.DOC, primero que nada escribimos el documento de
word colocando los campos de formulario (ver, barras de herramientas,
formularios) con sus respectivos nombres (propiedades, marcador) donde
corresponda como muestra la figura

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
6 de 13 13/09/2014 22:24

En ste caso definimos las variables ROL, NOMBRE, MARCA, PATENTE,
PARTE y FECHA, para los datos fijos usamos los nombres reservados
ftribunal, fciudad, fjuez y fsecretario y al campo de la fecha simplemente lo
dejamos con el nombre por defecto y le ajustamos el tipo a 'fecha actual'.
Grabamos este documento con el nombre ENTREGA VEHICULO.DOC
Luego abrimos nuestra plantilla maestra (CLIENTE.DOC) e ingresamos a
configurar la entrada de datos, usando los mismos nombres que en el
documento anterior como muestra la figura
Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
7 de 13 13/09/2014 22:24

En este caso no hemos usado los combobox (aunque si hubiesemos
quedado cortos de cajas igual podramos usarlos) colocamos el nombre del
documento tipo y tikeamos todas las opciones de los datos fijos, pues todas
ellas se ocupan. As, en un par de minutos hemos creado una nueva
plantilla que podemos ver agregada en la lista la prxima vez que abramos
el programa como muestra la figura siguiente

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
8 de 13 13/09/2014 22:24

Y aqu tenemos nuestra flamante plantilla en accin, miren que linda qued

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
9 de 13 13/09/2014 22:24

Que pasa si despus de un tiempo necesitamos agregar o quitar algn
campo de la plantilla?. Muy fcil, nos vamos nuevamente a configurar y
clikeamos el boton Editar con lo que nos aparece la lista de todas las
plantillas almacenadas


Luego escogemos la plantilla que deseamos modificar con doble click sobre
la lista y sus datos aparecern listos para ser modificados. Por ejemplo aqu
le agregu un campo llamado 'observaciones`a la plantilla de entrega de
vehiculo

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
10 de 13 13/09/2014 22:24

Luego modificamos el documento-tipo para agregarle el campo y listo.
Como pueden ver el proceso de creacin y mantencin de plantillas es
bastante fcil con este sistema
Finalmente tenemos la mantencin de los datos fijos que nos sirven para
cambiar el nombre del tribunal, de la ciudad, del juez y el secretario, al
clikear el botn Datos Fijos se solicita un password de ingreso
Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
11 de 13 13/09/2014 22:24

Luego de ingresado el password se pueden cambiar estos datos. Adems
hay un casillero para grabar el nombre del funcionario y su password como
se muestra en la figura

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
12 de 13 13/09/2014 22:24

Esa es la descripcin funcional del programa. La operacin interna se
detallar en una seccin aparte donde se muestra la potencia y
funcionalidad que se puede alcanzar con solo tener un procesador de textos
y nada ms. El Visual Basic Para Aplicaciones es una caja de sorpresas
tombrad@webhost.cl
http://fly.to/arica



Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html
13 de 13 13/09/2014 22:24

You might also like