Antonio, por favor...
Eu utilizo FW25H + XHARBOUR 99.50
Vou ter algum problema em utilizar a TWORDHB?
Pois está me dando o seguinte erro:
Application
===========
Path and name: C:\XCARCERE\INQ\INQUERITO.EXE (32 bits)
Size: 2,315,264 bytes
Time from start: 0 hours 1 mins 30 secs
Error occurred at: 06/09/2006, 11:37:44
Error description: Error Word.Application/1829 Unknown error: VISIBLE
Args:
Stack Calls
===========
Called from TOLEAUTO:VISIBLE(0)
Called from (b)TWORD(139)
Called from TWORD:ISVISIBLE(0)
Called from CONTRATOWORD(28)
Called from PORDEUS(18)
Called from (b)PREPARAMENU(420)
Called from TMENU:COMMAND(407)
Called from TWINDOW:COMMAND(929)
Called from TMDIFRAME:COMMAND(219)
Called from TMDIFRAME:HANDLEEVENT(0)
Called from _FWH(3105)
Called from WINRUN(0)
Called from TMDIFRAME:ACTIVATE(878)
Called from MAIN(240)
***********************
Meu prg:
***********************
#INCLUDE "fivewin.ch"
//Gerar um array com nome do "campo" que estará entre [] a ser substituído no word
// e o conteúdo do arquivo de dados
function porDEUS()
LOCAL A1,A2,A3
A1:="Ubiratan José dos Santos"
A2:="Lídia Aoki dos Santos"
A3:="Herculano Augusto de Abreu"
aCampos:={}
aadd( aCampos, { 'NOME1',A1 } )
aadd( aCampos, { 'NOME2',A2 } )
aadd( aCampos, { 'NOME3',A3 } )
ContratoWord( aCampos )
RETURN(.T.)
function ContratoWord( aCampos )
local x, oWord, cModelo:=curdrive()+':\xcarcere\inq\teste.doc' //importante colocar a letra do drive senão dá erro
MSGINFO(CMODELO)
oWord := TWord():New() // inicia o objeto OLE Word
if oWord:IsVisible()
oWord:Hide()
endif
oWord:OpenDoc( cModelo ) // abre o documento modelo
for x=1 to len( aCampos )
oWord:Replace( '['+aCampos[x,1]+']' , aCampos[x,2] )
next
//oWord:preview() // visualiza o documento no preview
//oWord:Visualizar() // visualiza o documento
oWord:PrintDoc(.t.) // imprime o documento sem apresentar na tela
oWord:end()
return nil
********************
Antonio, por favor meu Mestre, estou precisando muito disso!
FIQUE COM DEUS, E QUE ELE ABENÇOE VOCÊ E SUA FAMILIA
AOKISANTOS
Antonio - Por Favor, TWORDHB?
-
- Posts: 210
- Joined: Sun Jul 23, 2006 1:15 am
Antonio - Por Favor, TWORDHB?
FWH25+XHARBOUR 99.50
-
- Posts: 210
- Joined: Sun Jul 23, 2006 1:15 am
Re: Antonio por favor
Are you using Tword() Class for FWPPC ?AOKISANTOS wrote:por favor antonio!
Where I can found that class ?
Best regards
Vikthor
- Antonio Linares
- Site Admin
- Posts: 37485
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Perdón , perdón , ya me dí cuenta de que estaba en el foro equivocado.Antonio Linares wrote:AOKISANTOS,
Parece que oWord:IsVisible() llama a la propiedad OLE oWord:Visible y no es reconocida como tal.
Funcionaba ese código anteriormente ?
Pero aprovechando que es gerundio......
Efectivamente el método IsVsible() hace un llamado a la propidad Visible, lo que debe estar sucediendo es que no se está instanciando el Objeto Word y por esa causa ningún método o propiedad está disponible.
Vikthor
Re: Antonio - Por Favor, TWORDHB?
AOKISANTOS wrote:Antonio, por favor...
function ContratoWord( aCampos )
local x, oWord, cModelo:=curdrive()+':\xcarcere\inq\teste.doc' //importante colocar a letra do drive senão dá erro
MSGINFO(CMODELO)
oWord := TWord():New() // inicia o objeto OLE Word
if oWord:IsVisible()
oWord:Hide()
endif
oWord:OpenDoc( cModelo ) // abre o documento modelo
for x=1 to len( aCampos )
oWord:Replace( '['+aCampos[x,1]+']' , aCampos[x,2] )
next
//oWord:preview() // visualiza o documento no preview
//oWord:Visualizar() // visualiza o documento
oWord:PrintDoc(.t.) // imprime o documento sem apresentar na tela
oWord:end()
return nil
********************
Antonio, por favor meu Mestre, estou precisando muito disso!
FIQUE COM DEUS, E QUE ELE ABENÇOE VOCÊ E SUA FAMILIA
AOKISANTOS
Revisa si tu método ::New() es cómo este :
Code: Select all
METHOD NEW() CLASS TWord
::lWord := .T.
TRY
::oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
::oWord := CreateObject( "Word.Application" )
CATCH
Alert( "ERROR! Word no está instaldo en esta PC. [" + Ole2TxtError()+ "]" )
::lWord := .F.
END
END
RETURN( Self )
Vikthor
-
- Posts: 210
- Joined: Sun Jul 23, 2006 1:15 am
Antonio, Vikthor, muito obrigado por me responder...
Antonio, respondendo a sua pergunta... Eu nunca consegui fazer funcionar está comunicação com o WORD!... Tenho varias dúvidas:
1) Tenho que adicionar alguma LIB para que funcione ?
2) Eu anexei ao sistema a TWORDHB está certo? ou devo usar a TWORD?
Vikthor:
na TWORDHB o método NEW estava assim:
METHOD NEW() CLASS TWord
::lWord := .T.
#IFDEF __XHARBOUR__
TRY
::oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
::oWord := CreateObject( "Word.Application" )
CATCH
Alert( "ERROR! Word no está instaldo en esta PC.")
::lWord := .F.
END
END
#ELSE
::oWord := TOleAuto():New("Word.Application")
IF ::oWord:hObj == 0
Alert( "ERROR! Word no está instaldo en esta PC.")
::lWord := .F.
ENDIF
#ENDIF
RETURN( Self )
Então, ai mudei para ficar igual ao seu:
METHOD NEW() CLASS TWord
::lWord := .T.
TRY
::oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
::oWord := CreateObject( "Word.Application" )
CATCH
Alert( "ERROR! Word no está instaldo en esta PC. [" + Ole2TxtError()+ "]" )
::lWord := .F.
END
END
RETURN( Self )
MAIS MESMO ASSIM, CONTINUA A ME DAR O ERRO:
Application
===========
Path and name: C:\XCARCERE\INQ\INQUERITO.EXE (32 bits)
Size: 2,324,992 bytes
Time from start: 0 hours 0 mins 30 secs
Error occurred at: 07/09/2006, 19:17:26
Error description: Error Word.Application/1829 Unknown error: VISIBLE
Args:
Stack Calls
===========
Called from TOLEAUTO:VISIBLE(0)
Called from (b)TWORD(140)
Called from TWORD:ISVISIBLE(0)
Called from CONTRATOWORD(27)
Called from PORDEUS(17)
POR FAVOR AMIGOS, ESTOU PRECISANDO MUITO FAZER FUNCIONAR !
FIQUEM COM DEUS
AOKISANTOS
Antonio, respondendo a sua pergunta... Eu nunca consegui fazer funcionar está comunicação com o WORD!... Tenho varias dúvidas:
1) Tenho que adicionar alguma LIB para que funcione ?
2) Eu anexei ao sistema a TWORDHB está certo? ou devo usar a TWORD?
Vikthor:
na TWORDHB o método NEW estava assim:
METHOD NEW() CLASS TWord
::lWord := .T.
#IFDEF __XHARBOUR__
TRY
::oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
::oWord := CreateObject( "Word.Application" )
CATCH
Alert( "ERROR! Word no está instaldo en esta PC.")
::lWord := .F.
END
END
#ELSE
::oWord := TOleAuto():New("Word.Application")
IF ::oWord:hObj == 0
Alert( "ERROR! Word no está instaldo en esta PC.")
::lWord := .F.
ENDIF
#ENDIF
RETURN( Self )
Então, ai mudei para ficar igual ao seu:
METHOD NEW() CLASS TWord
::lWord := .T.
TRY
::oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
::oWord := CreateObject( "Word.Application" )
CATCH
Alert( "ERROR! Word no está instaldo en esta PC. [" + Ole2TxtError()+ "]" )
::lWord := .F.
END
END
RETURN( Self )
MAIS MESMO ASSIM, CONTINUA A ME DAR O ERRO:
Application
===========
Path and name: C:\XCARCERE\INQ\INQUERITO.EXE (32 bits)
Size: 2,324,992 bytes
Time from start: 0 hours 0 mins 30 secs
Error occurred at: 07/09/2006, 19:17:26
Error description: Error Word.Application/1829 Unknown error: VISIBLE
Args:
Stack Calls
===========
Called from TOLEAUTO:VISIBLE(0)
Called from (b)TWORD(140)
Called from TWORD:ISVISIBLE(0)
Called from CONTRATOWORD(27)
Called from PORDEUS(17)
POR FAVOR AMIGOS, ESTOU PRECISANDO MUITO FAZER FUNCIONAR !
FIQUEM COM DEUS
AOKISANTOS
FWH25+XHARBOUR 99.50