ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post Reply
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post 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... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
acuellar
Posts: 1646
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post 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 | Expand


cTrab:="INFORMATICA"

//Luego abrir la plantilla

cTxtFile:=STRTRAN(cTxtFile, "[TRABAJO]",cTrab)

 


Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post 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 | Expand


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...
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
acuellar
Posts: 1646
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post by acuellar »

Entonces sólo tiene que guardarlo en .rtf y lo pueden modificar con WORD cuando sea necesario.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post 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...
Dios no está muerto...

Gracias a mi Dios ante todo!
Loren
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post 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 los campos a reemplazar tiene que escribirlos mediante "Corchetes". Así de esa manera, la case TWord los identifica y los sustituye por los campos 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 | Expand

   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.
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post 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 los campos 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... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
Post Reply