He bajado el PRG de la clase Tword pero no localizo los ejemplos ni la ayuda de la misma.
Me pueden decir donde encontrarlo.
Un saludo.
He bajado el PRG de la clase Tword pero no localizo los ejemplos ni la ayuda de la misma.
Me pueden decir donde encontrarlo.
Un saludo.
................
oWord := Tword():New()
oWord:OpenDoc(cRutaDoc)
//
IF lPreWord
oWord:Visualizar()
ENDIF
//
oWord:Replace("[TRATAMIENTO]",cTratami)
oWord:Replace("[NUMEROSOCIO]",cNumSocio)
oWord:Replace("[NOMBRE]",cNombre)
oWord:Replace("[DOMICILIO]",cDomicilio)
oWord:Replace("[CPOSTALYLOCALIDAD]",cCLP)
//
IF lPreWord
oWord:Visualizar()
ENDIF
//
oWord:PrintDoc()
oWord:End(.F.)
.............Manuel Aranda wrote:Hola Fernando:
Te pongo un trozo de código que, espero, te ayudará:
................ oWord := Tword():New() oWord:OpenDoc(cRutaDoc) // IF lPreWord oWord:Visualizar() ENDIF // oWord:Replace("[TRATAMIENTO]",cTratami) oWord:Replace("[NUMEROSOCIO]",cNumSocio) oWord:Replace("[NOMBRE]",cNombre) oWord:Replace("[DOMICILIO]",cDomicilio) oWord:Replace("[CPOSTALYLOCALIDAD]",cCLP) // IF lPreWord oWord:Visualizar() ENDIF // oWord:PrintDoc() oWord:End(.F.) .............
Como puedes observar los campos que van en el documento se encierran entre corchetes, aunque puedes utiliza cualquier otro sÃmbolo.
Fernando, el codigo a continuacion es como imprimo desde un sistema constancias salariales, tengo un documento primario en word creado preliminarmente dejando entre corchetes los campos a reemplazar y desde ahi lo tomo como plantilla ,
local oWord,oFont1,oFont2,mdoc
local afondo := {nRGB(255,0,0), nRGB(255,255,255), ,2,4}
local alinea := {5},mTexto,mTexto1,mTexto2,mTexto3,mTexto4,mTexto5,otxt,otxt1
local oTxt2,oTxt3,cMes1,cNommes
mTexto := "("+CONVERTIR(mSaldo1,"Cordobas")+")"
mTexto1 := "("+CONVERTIR(mDesde,"Cordobas")+")"
mTexto2 := "("+CONVERTIR(mHasta,"Cordobas")+")"
cMes1 := date()
cNommes := FAN(@cMes1,cNommes)
oWord:= Tword():New
DEFINE FONT oFont1 NAME "Arial" SIZE 0,-12 BOLD ITALIC UNDERLINE of oWord
DEFINE FONT oFont2 NAME "Tahoma" SIZE 0,-12 ITALIC of oWord
/
este esl documento primario donde tengo entre corchetes los campos a reemplazar /
oWord:OpenDoc("C:\DATA1\SALARIO1.DOC")
oWord:SetCm()
oWord:Replace([Nombre1],mCodigo+"-"+mNombre)
oWord:replace([Fing],mCarrera)
oWord:replace([Mcargo],mCargo)
oWord:replace([Msalario],mSaldo)
oWord:replace([Mletras],mTexto)
oWord:replace([Mdesde],mDesde)
oWord:replace([Mletra1],mTexto1)
oWord:replace([Mhasta],mHasta)
oWord:replace([Mletra2],mTexto2)
oWord:replace([Mfecha],cNommes)
//oWord:Preview()
/
Despues del reemplazo de los campor salvo mi documento con otro nombre y mi plantilla queda sin alteraciones
/
oWord:Save("PRUEBA.DOC")
oWord:PrintDoc(,,,,,,,,,) // imprimo el documento sin o con vista previa
oWord:End()
oFont1:End()
RETURN NIL
Ojala te sea de alguna utilidad
Saludes desde Managua, Nicaragua
Ramon Paredes
Ramón.
Muchas gracias por tu contestación. Probaré
Un saludo.
Buenas tardes.
Tras realizar un pequeño ejemplo, en tiempo de ejecución tengo un error.
Path and name: d:\personal\perito32\perito3.Exe (32 bits)
Size: 667,648 bytes
Time from start: 0 hours 0 mins 45 secs
Error occurred at: 07-11-2008, 20:01:47
Error description: Error BASE/1004 No existe el m‚todo: GET
Args:
[ 1] = U
[ 2] = C MailMerge
Called from: source\rtl\tget.prg => GET(0)
Called from: => TWORD:OPENDOC(434)
Called from: d:\personal\perito32\Prg\facturas.prg => IMPRIME_FACTURA(269)
Called from: d:\personal\perito32\Prg\verfactura.prg => VERFACTURA(200)
Called from: d:\personal\perito32\Prg\facturas.prg => (b)FACTURA(72)
Called from: => TBUTTON:CLICK(0)
Called from: => TBUTTON:HANDLEEVENT(0)
Called from: .\source\classes\WINDOW.PRG => _FWH(0)
Called from: => SENDMESSAGE(0)
Called from: => TDIALOG:COMMAND(0)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: => TDIALOG:HANDLEEVENT(0)
Called from: => DIALOGBOXINDIRECT(0)
Called from: => TDIALOG:ACTIVATE(0)
Called from: d:\personal\perito32\Prg\facturas.prg => FACTURA(81)
Called from: d:\personal\perito32\Prg\perito32.prg => (b)BUILDMENU(117)
Called from: => TMENU:COMMAND(0)
Called from: => TWINDOW:COMMAND(0)
Called from: => TMDIFRAME:COMMAND(0)
Called from: => TMDIFRAME:HANDLEEVENT(0)
Called from: .\source\classes\WINDOW.PRG => _FWH(0)
Called from: => WINRUN(0)
Called from: => TMDIFRAME:ACTIVATE(0)
Called from: d:\personal\perito32\Prg\perito32.prg => MAIN(96)
Me imagino que debe ser un problema de enlazado, ya que he compilado y enlazado directamente el archivo Tword.prg.
Una ayuda, por favor.
Saludos
Fernando,
Si pusieses un trozo de codigo donde se origina el error te podriamos echar una mano,
Saludes desde Managua, Nicaragua
Ramon Paredes
Ramon Paredes wrote:Fernando,
Si pusieses un trozo de codigo donde se origina el error te podriamos echar una mano,
Saludes desde Managua, Nicaragua
Ramon Paredes
Pueden ayudarme.
Muchas gracias.
Se solucionó el tema que esta clase (word) que funcione tanto para Word 2003 como para el 2007,
Salen tabulado de distinta forma de una versión a la otra.
gracias
David
argentina
dobfivewin wrote:Se solucionó el tema que esta clase (word) que funcione tanto para Word 2003 como para el 2007,
Salen tabulado de distinta forma de una versión a la otra.
gracias
David
argentina
oWord:=Tword():New()
oWord:NewDoc( cOutFile )
oWord:startpage()
oWord:SetCm()
oWord:TextBox(1 ,;
2.0 ,;
25 ,;
20.3 ,;
'PRUEBA GENERACION DE DOCUMENTO WORD,;
oFuente5, , , Justi, ,{0},.t.)
oWord:EndPage()
oWord:Protect('clave') // para proteger el Documento
oWord:save()
oWord:End()oWord:=Tword():New()
oWord:OpenDoc(cOutFile) // con todo y path
oWord:Preview()oWord:=Tword():New()
oWord:OpenDoc(cOutFile) // con todo y path
oWord:PrintDoc()Gracias David.
Como verás asà abro el documento y asà intento hacerlo.
OpenDoc() me genera un error ya que me dice que no existe el método GET. Si nos vamos al método OpenDoc, vemos que en efecto ahà está el problema. Por eso pregunto si se debe enlazar alguan librerÃa que no tengo en mi fichero RMK o cuano enlazo con VerCe.
Muchas gracias y un saludo