rellenar campos de una carta

Discute sobre las herramientas de la base de datos
Responder
EIZA
Mensajes: 19
Registrado: Jue Oct 18, 2018 10:55 am

rellenar campos de una carta

Mensaje por EIZA »

Buenas,

he abierto este tema en Base, pero puede que la solución sea utilizar writter. Pero como lo que tengo en mente es crear un formulario como el que se hace base, lo he abierto aquí. Además, ya utilizo una BD para guardar estos datos.

Me explico:

Tengo una carta bastante larga donde solo se cambian unos cuantos datos. Como tengo que hacer muchas cartas al día (hasta ahora iba cambiando uno a uno los "campos") quiero agilizar. Además, lo hacemos entre varias personas y quiero agilizar el proceso. Quiero crear un formulario donde añado unos campos y estos campos se añaden en el lugar adecuado de la carta.

No sé si es posible hacerlo en LO.

¿Alguien tiene alguna idea?

Gracias
libreoffice 6.1.5.2 en Windows 7
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: rellenar campos de una carta

Mensaje por Longi »

Buenas!

Echa un vistazo en este hilo.

https://forum.openoffice.org/es/forum/v ... 31&t=13333

En la solución que propongo en la primera respuesta utilizo código de Mauricio (como no podía ser de otra manera!).
Se trata de tener una plantilla en Writer y se rellena con los campos de la base de datos (creo que eso es lo que buscas).
Podría rematarse con la opción de imprimir directamente sin que haya que hacerlo manualmente.
De todos modos hay muchas otras posibilidades utilizando informes, pero con el sistema antiguo, no con el ORB, que es el que lleva LibreOffice.
También en Writer puedes usar la función de asistente de combinación de correo (mail Merge).

Un saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
EIZA
Mensajes: 19
Registrado: Jue Oct 18, 2018 10:55 am

Re: rellenar campos de una carta

Mensaje por EIZA »

hola,

exactamente es eso lo que busco. Gracias!

Pero he intentado ver como funciona tu ejemplo y no consigo que funcione. Me imagino que le tendré que decir dónde está guardado la plantilla en mi PC. ¿Dónde le digo esto?
Lo siento, estoy aprendiendo como funcionan las macros, pero aún me cuesta un poco.
libreoffice 6.1.5.2 en Windows 7
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: rellenar campos de una carta

Mensaje por Longi »

Mira en este otro hilo (donde está el código original de Mauricio)

https://forum.openoffice.org/es/forum/v ... 31&t=12838

La plantilla, según está el código, estaría en la misma carpeta que la propia base de datos. podría modificarse para guardarla en cualquier otro sitio, pero hay que modificar el código y así resulta cómodo.
Vamos!, que tienes que tener una carpeta en la que tengas la base de datos y la plantilla.
En el control del botón tienes un sitio que pone 'información adicional'. Allí es donde pones el nombre de la plantilla, y el código recoge el nombre de allí

Código: Seleccionar todo

    doc_name = event.Source.Model.Tag
También tienes opciones como una de las primeras respuestas que hice en ese hilo en el que hago todo eso pero con un informe (y muy poquito código), pero también puedes echar un vistazo a
https://forum.openoffice.org/es/forum/v ... 70&t=11605, en la parte de tratamiento de textos, pero se lía mucho y al final no vale mucho la pena, aunque se puede hacer.

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
EIZA
Mensajes: 19
Registrado: Jue Oct 18, 2018 10:55 am

Re: rellenar campos de una carta

Mensaje por EIZA »

Muchas gracias,

miraré los hilos que propones.
libreoffice 6.1.5.2 en Windows 7
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: rellenar campos de una carta

Mensaje por Longi »

Buenas!

Hice un miniejemplo con botón en el formulario 'formINDedukiontziak'
Seguro que ahora sabrás cómo va.

Otro saludo! ;)
Adjuntos
Empresas.7z
(101.16 KiB) Descargado 197 veces
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
EIZA
Mensajes: 19
Registrado: Jue Oct 18, 2018 10:55 am

Re: rellenar campos de una carta

Mensaje por EIZA »

Muchísimas gracias!! de verdad!! :)

No sabes el trabajo que nos ahorrará esto. :bravo:

GRACIAS!!
libreoffice 6.1.5.2 en Windows 7
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: rellenar campos de una carta

Mensaje por Longi »

Buenas de nuevo!

Si lo consideras resuelto no te olvides de marcarlo como tal.

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
EIZA
Mensajes: 19
Registrado: Jue Oct 18, 2018 10:55 am

Re: rellenar campos de una carta

Mensaje por EIZA »

Hola,
cuando he intentado aplicar el macro a la BD (te agradezco que me hayas hecho un ejemplo, pero era para otra), me da un error.

He intendado copiar aquí una imagen, pero no lo consigo.

me dice que en esta línea de la macro hay un error de ejecución, valor de propiedad erronea.

open_doc = StarDesktop.loadComponentFromURL(path, "_blank", 0, opt())

qué puede ser?
libreoffice 6.1.5.2 en Windows 7
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: rellenar campos de una carta

Mensaje por Longi »

Buenas!
Yo no soy ningún hacha con la programación, así que pueden ser unas cuantas cosas.
Tendrás que tener en cuenta que tienes que tener una carpeta en la que metes la base de datos y el documento/plantilla que quieres rellenar. De esta manera la ruta tanto del documento como la de la base de datos será la misma.
También te puede pasar que si lanzas la macro y te da un "informe", te de interferencia con el siguiente, por lo que te recomiendo cerrarlo cada vez que se genera antes de generar el siguiente.

De todos modos, ya sabes, preparas un bosquejo de la base de datos sin datos 'sensibles' y le echamos un vistazo.

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Responder