FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ¿ tword() o word.application ?
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
¿ tword() o word.application ?
Posted: Wed May 22, 2019 02:26 AM

Estimados

Solo necesito colocar el Nombre y el rut de una tabla DBF en una plantilla echa en WORD.

Use tword() pero no estaba la classe la encontre y baje pero me marco un monton de variables no declaradas y 2 funciones que no existen.

Vi los ejemplos de word.application y ninguno es muy claro.

Muchas Gracias

Waldemar

"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile
Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: ¿ tword() o word.application ?
Posted: Wed May 22, 2019 12:40 PM
Buen día:

aquí encontré un enlace que te puede orientar a lo que solicitas.

http://forums.fivetechsupport.com/viewtopic.php?f=6&t=31518&p=183397&hilit=reemplazar+en+documento+word#p183361


Espero de que te pueda ayudar, saludos
SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
Re: ¿ tword() o word.application ?
Posted: Wed May 22, 2019 03:56 PM

Estimado Armando

Ya revise este y muchos más enlaces es más ocupe el mismo ejemplo (y otros más)y tiene muchos errores, quizás la clase TWord es muy antigua.

Ojala encuentre una respuesta pronto ya que es urgente.

A propósito te mande un mail lo recibiste ?

Saludos

Waldemar

"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
Re: ¿ tword() o word.application ?
Posted: Thu May 23, 2019 12:01 AM

Estimados

¿ Alguien ?

Es urgente

Waldemar

"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: ¿ tword() o word.application ?
Posted: Thu May 23, 2019 11:40 AM
Hola, yo estoy usando esto. Tomo un modelo (en formato RTF) y le cargo los datos de una tabla.
Code (fw): Select all Collapse
***************************************
** Emitir Actas
STATIC FUNCTION Acta (cDoc)
LOCAL cText, oWord, oDoc
cText := MEMOREAD(hb_CurDrive()+":\"+curdir()+"\Modelos\"+cDoc+".rtf")
IF !FILE(hb_CurDrive()+":\"+curdir()+"\Modelos\"+cDoc+".rtf")
    MsgStop("El archivo base no existe"+chr(10)+cDoc,"Error")
    RETURN  nil
ENDIF
TransformarTexto(@cText)
   
MemoWrit( hb_CurDrive()+":\"+curdir()+"\Impresion\"+cDoc+".Temp.rtf", cText )
IF (oWord := WinWordObj() ) == nil
   MsgAlert( "MS Word no instalado" ,  "Alerta" )        
   ELSE
   oDoc = oWord:Documents:Open(hb_CurDrive()+":\"+curdir()+"\Impresion\"+cDoc+".Temp.rtf")
   IF oDoc == nil
      MsgAlert("Fallo crear documento, verifique que no este en uso" , "Alerta"  )           
   ENDIF
ENDIF
oDoc:Application:Visible := .t.
RETURN nil

***********************************************************
** Hacer el RTF
STATIC FUNCTION TransformarTexto(cText)
   cText := STRTRAN(ctext,"<<RUT>>"   ,ALLTRIM(datos->RUT) )
   cText := STRTRAN(ctext,"<<NOMBRE>>"   ,ALLTRIM(datos->nombre) )   
RETURN nil

Claramente en el modelo, donde tiene que ir el RUT y el NOMBRE, los pongo entre <<>>
Entiendo que necesitas imprimir en un mismo paso varios registros. Pero te puede servir como idea inicial
Posts: 79
Joined: Wed Mar 06, 2019 08:28 PM
Re: ¿ tword() o word.application ?
Posted: Sat May 25, 2019 05:53 AM
cmsoft wrote:Hola, yo estoy usando esto. Tomo un modelo (en formato RTF) y le cargo los datos de una tabla.
Code (fw): Select all Collapse
***************************************
** Emitir Actas
STATIC FUNCTION Acta (cDoc)
LOCAL cText, oWord, oDoc
cText := MEMOREAD(hb_CurDrive()+":\"+curdir()+"\Modelos\"+cDoc+".rtf")
IF !FILE(hb_CurDrive()+":\"+curdir()+"\Modelos\"+cDoc+".rtf")
    MsgStop("El archivo base no existe"+chr(10)+cDoc,"Error")
    RETURN  nil
ENDIF
TransformarTexto(@cText)
   
MemoWrit( hb_CurDrive()+":\"+curdir()+"\Impresion\"+cDoc+".Temp.rtf", cText )
IF (oWord := WinWordObj() ) == nil
   MsgAlert( "MS Word no instalado" ,  "Alerta" )        
   ELSE
   oDoc = oWord:Documents:Open(hb_CurDrive()+":\"+curdir()+"\Impresion\"+cDoc+".Temp.rtf")
   IF oDoc == nil
      MsgAlert("Fallo crear documento, verifique que no este en uso" , "Alerta"  )           
   ENDIF
ENDIF
oDoc:Application:Visible := .t.
RETURN nil

***********************************************************
** Hacer el RTF
STATIC FUNCTION TransformarTexto(cText)
   cText := STRTRAN(ctext,"<<RUT>>"   ,ALLTRIM(datos->RUT) )
   cText := STRTRAN(ctext,"<<NOMBRE>>"   ,ALLTRIM(datos->nombre) )   
RETURN nil

Claramente en el modelo, donde tiene que ir el RUT y el NOMBRE, los pongo entre <<>>
Entiendo que necesitas imprimir en un mismo paso varios registros. Pero te puede servir como idea inicial



Cesar muchas gracias por el ejemplo, creo que es lo que necesito, lo pruebo y te aviso.

Atentamente

Waldemar
"Porque Jehová da la sabiduría , Y de su boca viene el conocimiento y la inteligencia Proverbios 2:6"

FWH 1903 + Bcc7 + PellesC + XEdit easycomp613@gmail.com

Waldemar
Colbún Chile

Continue the discussion