Page 1 of 1

Problema con Hoja De Excel

Posted: Wed Aug 08, 2007 9:40 pm
by jacgsoft
tengo el Siguiente Programa:

#Include 'FiveWin.ch'

Function Main()
Local oExcel,oHoja,nFila,nColu,I,J,_Val

oExcel:=TOleAuto():New('Excel.Applicati
oExcel:WorkBooks:Open("C:\Atento.xls")

oHoja:=oExcel:Get( "ActiveSheet" ) // Aqui falla :oops:

nFila:=oHoja:UsedRange:Rows:Count()
nColu:=oHoja:UsedRange:Columns:Count()
Select A
Use Cheq_ate Shared
Set Index To ('Cheq_ate.Id1'),('Cheq_ate.Id2')

For I=2 To nFila
For J=2 To nColu
Select A
Append Blank
_Val_:=oHoja:Cells(I,J):Value
FieldPut(J,_Val_)
Next
Commit
Next I

Select A
Use
oExcel:Quit()
oHoja:End()
oExcel:End()
Return(Nil)


Y me sale el siguiente error:

Error description: Error Excel.Application/16389
E_FAIL:ACTIVESHEET

-------------------------------------
Called from: => TOLEAUTO:ACTIVESHEET(0)
Called from: => HB_EXECFROMARRAY(0)
Called from: source\rtl\tget.prg => TOLEAUTO:GET(349)
Called from: exce_pr.prg => MAIN(9)

¿Que puede ser? :cry: uso FiveWin 7.05 con Harbour y tengo instalado el excel.

Se agradece la ayuda


Jaime

Posted: Wed Aug 08, 2007 10:17 pm
by jacgsoft
Encontre la solucion en el foro

no es:

oHoja:=oExcel:Get( "ActiveSheet" )


sino:


oHoja:=oExcel:ActiveSheet() :evil:

Posted: Wed Aug 08, 2007 10:45 pm
by Vikthor
jacgsoft wrote:Encontre la solucion en el foro

no es:

oHoja:=oExcel:Get( "ActiveSheet" )


sino:


oHoja:=oExcel:ActiveSheet() :evil:

Los métodos Get() y Set() funcionan bien.
El detalle fue en como lo estas usando.
Cuando quieres establecer alguna propiedad deber utilizar Set()
Para Obtener algun valor debes usar Get()
Y para correr alguna propiedad debes usar el método Invoke()

Revisa el código fuente de la clase TExcel.