Page 1 of 1
¿ tword() o word.application ?
Posted: Wed May 22, 2019 2:26 am
by wyerco613
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
Re: ¿ tword() o word.application ?
Posted: Wed May 22, 2019 12:40 pm
by armando.lagunas
Buen día:
aquí encontré un enlace que te puede orientar a lo que solicitas.
http://forums.fivetechsupport.com/viewt ... rd#p183361
Espero de que te pueda ayudar, saludos
Re: ¿ tword() o word.application ?
Posted: Wed May 22, 2019 3:56 pm
by wyerco613
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
Re: ¿ tword() o word.application ?
Posted: Thu May 23, 2019 12:01 am
by wyerco613
Estimados
¿ Alguien ?
Es urgente
Waldemar
Re: ¿ tword() o word.application ?
Posted: Thu May 23, 2019 11:40 am
by cmsoft
Hola, yo estoy usando esto. Tomo un modelo (en formato RTF) y le cargo los datos de una tabla.
Code: Select all
***************************************
** 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
Re: ¿ tword() o word.application ?
Posted: Sat May 25, 2019 5:53 am
by wyerco613
cmsoft wrote:Hola, yo estoy usando esto. Tomo un modelo (en formato RTF) y le cargo los datos de una tabla.
Code: Select all
***************************************
** 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