ACTUALIZAR DATOS DE DOCUMENTO DE WORD DINAMICAMENTE

Post Reply
User avatar
joseluisysturiz
Posts: 2024
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: 1312
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

cTrab:="INFORMATICA"

//Luego abrir la plantilla

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

 
Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
joseluisysturiz
Posts: 2024
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

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: 1312
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: 2024
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: 458
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 _ 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.
User avatar
joseluisysturiz
Posts: 2024
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 _ 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