un generador de formularios con word y vba.pdf

13
Un Generador de Formularios con Word y VBA Mi interés en el VBA partió de la necesidad de automatizar algunos trabajos típicos de oficina, creando plantillas para personas que no tenían el tiempo, ni las ganas de aprender nada aparte del manejo básico del procesador de textos. Una de las aplicaciones más obvias es la automatización de documentos-tipo, con partes fijas y otras que pueden variar. Como vimos en la lección anterior, combinando los campos de formulario con los macros en VBA se puede lograr un alto grado de automatización de estas tareas con un mínimo trabajo de parte del usuario final. Pero subsiste un problema práctico; que muchas veces el trabajo requerido para programar estas macros y mantenerlas (modificarlas) es tan grande que se hace muy difícil 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 sería 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: Descripción 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 histórico de los documentos emitidos lo que permite que el funcionario lleve de manera automática un inventario de las causas de acuerdo a los formularios que estas generan. Código Fuente Haciendo click Aquí podrá acceder al código fuente completo, junto con el diseño 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 botón 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

Upload: juan-car

Post on 18-Jan-2016

43 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Un Generador de Formularios con Word y VBA.pdf

Un Generador de Formularios con Word y VBA

Mi interés en el VBA partió de la necesidad de automatizar algunos trabajos

típicos de oficina, creando plantillas para personas que no tenían el tiempo,

ni las ganas de aprender nada aparte del manejo básico del procesador de

textos.

Una de las aplicaciones más obvias es la automatización de

documentos-tipo, con partes fijas y otras que pueden variar. Como vimos en

la lección anterior, combinando los campos de formulario con los macros en

VBA se puede lograr un alto grado de automatización de estas tareas con

un mínimo trabajo de parte del usuario final.

Pero subsiste un problema práctico; que muchas veces el trabajo requerido

para programar estas macros y mantenerlas (modificarlas) es tan grande

que se hace muy difícil 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 sería 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:

Descripción 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 histórico de los documentos

emitidos lo que permite que el funcionario lleve de manera automática un

inventario de las causas de acuerdo a los formularios que estas generan.

Código Fuente

Haciendo click Aquí podrá acceder al código fuente completo, junto con el

diseño 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 botón 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

Page 2: Un Generador de Formularios con Word y VBA.pdf

Al hacer click en el botón de plantilla aparece una lista con las plantillas

disponibles entre las cuales se puede escoger (en este ejemplo están

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

Page 3: Un Generador de Formularios con Word y VBA.pdf

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.

También se carga una ventana para el llenado de los campos de formulario

con las correspondientes cajas de texto y combobox, que permitirán

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

Page 4: Un Generador de Formularios con Word y VBA.pdf

En este caso solo se pide el ingreso del ROL (número del proceso) y el

nombre del muerto. El nombre del médico se escoge de uno de los que

aparecen en el combobox.

Nótese 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 (también editable) como

"datos fijos". Al ingresar estos datos la plantilla es llenada automáticamente

como se muestra a continuación

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html

4 de 13 13/09/2014 22:24

Page 5: Un Generador de Formularios con Word y VBA.pdf

Diseño de nuevas plantilla y edición de las ya existentes

La característica más importante del sistema es que permite automatizar el

diseño de nuevas plantillas así como la modificación 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 botón 'configurar' que aparece tanto en la pantalla

principal como en la de ingreso de datos, allí se cargará la pantalla de

configuración

Un Generador de Formularios con Word y VBA http://www.bradanovic.cl/pcasual/cvba10.html

5 de 13 13/09/2014 22:24

Page 6: Un Generador de Formularios con Word y VBA.pdf

Esta pantalla nos muestra las posibilidades de diseño 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 sección para ingresar hasta 3 valores para

cada combo box y finalmente en la parte inferior están 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

Page 7: Un Generador de Formularios con Word y VBA.pdf

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

Page 8: Un Generador de Formularios con Word y VBA.pdf

En este caso no hemos usado los combobox (aunque si hubiesemos

quedado cortos de cajas igual podríamos 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 próxima 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

Page 9: Un Generador de Formularios con Word y VBA.pdf

Y aquí tenemos nuestra flamante plantilla en acción, 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

Page 10: Un Generador de Formularios con Word y VBA.pdf

¿Que pasa si después de un tiempo necesitamos agregar o quitar algún

campo de la plantilla?. Muy fácil, 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 aparecerán 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

Page 11: Un Generador de Formularios con Word y VBA.pdf

Luego modificamos el documento-tipo para agregarle el campo y listo.

Como pueden ver el proceso de creación y mantención de plantillas es

bastante fácil con este sistema

Finalmente tenemos la mantención de los datos fijos que nos sirven para

cambiar el nombre del tribunal, de la ciudad, del juez y el secretario, al

clikear el botón 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

Page 12: Un Generador de Formularios con Word y VBA.pdf

Luego de ingresado el password se pueden cambiar estos datos. Además

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

Page 13: Un Generador de Formularios con Word y VBA.pdf

Esa es la descripción funcional del programa. La operación interna se

detallará en una sección aparte donde se muestra la potencia y

funcionalidad que se puede alcanzar con solo tener un procesador de textos

y nada más. El Visual Basic Para Aplicaciones es una caja de sorpresas

[email protected]

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