Page 1 of 1
ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE
Posted: Thu Oct 29, 2015 4:13 pm
by joseluisysturiz
Saludos, necesito tener un documento de WORD, llamemosle una plantilla con un escrito predeterminado, tipo contrato, pero que debo usar desde mi aplicacion y al imprimirla ciertos datos seran diferentes dependiendo de los datos del cliente que se le imprima el contrato o documento de word.
Alguna idea, sugerencia, recomendacion y ejemplo de como usar word con plantilla y macros desde FW.? gracias, saludos...
Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE
Posted: Thu Oct 29, 2015 5:27 pm
by acuellar
José Luis
Guarda tu plantilla en .rtf (Formato texto) si usas MySql guardarlo en texto en un campo TEXT o MEDIUMTEXT
Los lugares que queres cambiar coloca entre corchetes así:
Trabaja en [TRABAJO]
El programa para el llenado:
Code: Select all
cTrab:="INFORMATICA"
//Luego abrir la plantilla
cTxtFile:=STRTRAN(cTxtFile, "[TRABAJO]",cTrab)
Saludos,
Adhemar
Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE
Posted: Thu Oct 29, 2015 5:50 pm
by joseluisysturiz
acuellar wrote:José Luis
Guarda tu plantilla en .rtf (Formato texto) si usas MySql guardarlo en texto en un campo TEXT o MEDIUMTEXT
Los lugares que queres cambiar coloca entre corchetes así:
Trabaja en [TRABAJO]
El programa para el llenado:
Code: Select all
cTrab:="INFORMATICA"
//Luego abrir la plantilla
cTxtFile:=STRTRAN(cTxtFile, "[TRABAJO]",cTrab)
Saludos,
Adhemar
Adhemar gracias por responder, mi duda es la siguiente, el documento debe estar accesible al cliente ya que cuando el quiera puede cambiar partes, agregar, modificar o quitar, como por ejemplo una Clausula, en este caso es un contrato, tendras un ejemplo mas completo.? gracias, saludos...
Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE
Posted: Thu Oct 29, 2015 5:52 pm
by acuellar
Entonces sólo tiene que guardarlo en .rtf y lo pueden modificar con WORD cuando sea necesario.
Saludos,
Adhemar
Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE
Posted: Thu Oct 29, 2015 5:59 pm
by joseluisysturiz
acuellar wrote:Entonces sólo tiene que guardarlo en .rtf y lo pueden modificar con WORD cuando sea necesario.
Saludos,
Adhemar
Ok, y en mi documento RTF coloco entre corchetes los "campos" que van hacer dinamicos.?, buscare temas de como abrir, usar word y pasarle los valores a la plantilla RTF, gracias, saludos...
Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE
Posted: Fri Oct 30, 2015 7:25 am
by Loren
Joseluissystruiz, buenos días:
Si utilizas DBF-CDX como yo, puedes hacer uso de la clase TWord. Yo hago así:
El usuario crea sus propios diseño de WORD y _ a reemplazar tiene que escribirlos mediante "Corchetes". Así de esa manera, la case TWord los identifica y los sustituye por _ DBF. Así, de un Word de 1 página te imprime un Word de tantas páginas como registros en la DBF tengas.
Un ejemplo
Code: Select all
TRY
oWord:= TWord():New()
oWord:openDoc(camino+'\modelos\temporal.doc')
do while .not. eof()
if clie->seleccion=.t.
oWord:Replace( '<NOMBRE>' , alltrim(clie->NOMBREc) ) ; oWord:Replace( '< NOMBRE >' , alltrim(clie->NOMBREc) )
oWord:Replace( '<DIRECCION>', alltrim(clie->DIRECCc) ) ; oWord:Replace( '< DIRECCION >', alltrim(clie->DIRECCc) )
oWord:Replace( '<POBLACION>', alltrim(clie->POBLAC) ) ; oWord:Replace( '< POBLACION >', alltrim(clie->POBLAC) )
oWord:printDoc()
oWord:Replace( alltrim(clie->NOMBREc), '<NOMBRE>' )
oWord:Replace( alltrim(clie->DIRECCc), '<DIRECCION>' )
oWord:Replace( alltrim(clie->POBLAC), '<POBLACION>' )
endif
skip
enddo
oWord:endpage()
oWord:end(.f.)
Un saludo.
LORENZO.
Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE
Posted: Fri Oct 30, 2015 9:22 pm
by joseluisysturiz
Lorenzo, muchas gracias por tu ejemplo, es lo que necesitaba, uso MySql pero imagino no deberia ser problema, ya que le mando los nombres de _ igual como lo haces con DBF, hago las pruebas y te comento, es lo que queria ver, como reemplazar los valores entre los corchetes [], saludos...gracias...