FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TWord y errores aleatorios
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
TWord y errores aleatorios
Posted: Tue Jun 03, 2008 04:37 PM
Estoy usando la clase TWORD para fusiĂłn de correspondencia y a veces se produce este error (no siempre) cuando evito usar oWord:Visualizar():


Error description: Error Word.Application/16389 E_FAIL: DOCUMENTS
Args:

Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:DOCUMENTS(0)
Called from: => HB_EXECFROMARRAY(0)
Called from: win32ole.prg => TOLEAUTO:GET(397)
Called from: tword.prg => TWORD:OPENDOC(429)
Called from: socios.prg => FUSIONWORD(1140)


AquĂ­ dejo el trozo de cĂłdigo que uso por si alguien me puede ayudar:


IF FILE (cRutaDoc)
   //
   FOR nRecorre:= 1 TO len(aSele)
      cBusca:=aSele[nRecorre]
      (cUsaBase)->(DbGoTo(cBusca))
      //
      cNombre   = (cUsaBase)->Nombre
      cDomicilio= (cUsaBase)->Domicilio
      cCLP      = (cUsaBase)->CPostal+"-"+ALLTRIM((cUsaBase)->LOCALIDAD)+" ("+ALLTRIM((cUsaBase)->PROVINCIA)+")"
      //
      oWord := Tword():New()
      oWord:OpenDoc(cRutaDoc)
      //
      IF lPreWord
          oWord:Visualizar()
      ENDIF
      //
      oWord:Replace("[NOMBRE]",cNombre)
      oWord:Replace("[DOMICILIO]",cDomicilio)
      oWord:Replace("[CPOSTALYLOCALIDAD]",cCLP)
      //
      oWord:PrintDoc()
      oWord:End(.F.)
      //
   END FOR
  //
ELSE
  MsgStop("Debe de elegir un documento de WORD")
ENDIF
//
Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Posts: 581
Joined: Tue Oct 11, 2005 11:28 AM
TWord y errores aleatorios
Posted: Tue Jun 03, 2008 06:21 PM
Hola Manuel,

Una pregunta: por que estas poniendo este if

     IF lPreWord 
          oWord:Visualizar() 
      ENDIF


Antes de los REPLACEs? No deberia ser después?

Saludos,
Kleyber Derick



FWH / xHb / xDevStudio / SQLLIB
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
TWord y errores aleatorios
Posted: Tue Jun 03, 2008 06:37 PM

Hola Kleyber:

Con lPreWord determino si quiero previsualizar el documento o no. Si lPreWord es .T. entonces se previsualiza el documento y se ve como se van haciendo los REPLACE y después se imprimen sin problema tantos documentos como registros hay en aSele.
En cambio si lPreWord es .F. (no se previsualiza el documento) el primer documento se imprime correctamente, pero en alguno de los siguientes da el error mencionado.

Gracias.

Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
TWord y errores aleatorios
Posted: Tue Jun 03, 2008 06:54 PM

DISCULPA, (tirandola a pegar)

No serĂĄ que algĂșn documento no existe???

No serĂ­a bueno preguntar por la existencia del documento en el disco antes de proceder??

No se, es solo un pĂĄlpito

Suerte

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
TWord y errores aleatorios
Posted: Tue Jun 03, 2008 08:14 PM

Angel:

El documento es Ășnico y lo fusiono con varios registros (tres registros, tres copias del mismo documento pero con distintos datos) y ya se determina si existe en la primera linea: IF FILE (cRutaDoc)

Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC

Continue the discussion