FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TExcelScript y xHarbour
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
TExcelScript y xHarbour
Posted: Tue Feb 14, 2006 12:25 PM

Hola grupo,

Uso la clase TExcelScript de Vikthor para generar exportar dato a excel.

Lo que quiero hacer es exportar un tabla a excel y dejar el documento excel abierto para que el operador grabe/cierre o haga lo que quiera con 茅l.
Sin embargo aunque cierre el libro de excel, este queda abierto aunque no visible y dependiente del programa. Por tanto cuando vuelvo a exportar otra a cosa a excel se queda bloqueado (excel).

Lo que hac铆a antes en Harbour para evitar este problemas es poner la instrucci贸n oExcel:End(.F.). Esto liberaba excel de la aplicaci贸n y no lo cerraba.
Ahora con xHarbour esta instrucci贸n cierra el documento excel.

Como puedo liberar excel de la aplicaci贸n y que este no se cierre?
Gracias a todos por vuestro tiempo

Un saludo

Fernando Gonz谩lez Diez

ALSIS Sistemas Inform谩ticos
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
TExcelScript y xHarbour
Posted: Tue Feb 14, 2006 03:13 PM

fgondi :

La 煤ltima clase que modifique, verifica si existe una instancia de Excel abierta para tomarla y trabajar con ella, revisa el c贸digo fuente del m茅todo Open(), ah铆 es d贸nde se hace esa revisi贸n.

Vikthor
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
TExcelScript y xHarbour
Posted: Tue Feb 14, 2006 04:28 PM
Uso la 煤ltima clase que modificaste.

      TRY
        ::oExcel := GetActiveObject( "Excel.Application" )
        ::oClip:=TClipBoard():New()
        ::oClip:Clear()
      CATCH
         TRY
            ::oExcel := CreateObject( "Excel.Application" )
            ::oClip:=TClipBoard():New()
            ::oClip:Clear()
...


Si comento las l铆neas que llaman a GetActiveOject evito el bloqueo de excel, pero se sigue quedando abierto Excel (auque lo cierre) hasta que cierro el programa en xHarbour o ejecuto la instrucci贸n oExcel:End(.F.).
Si salgo del programa en xHarbour, excel queda abierto.
Si ejecuto oExcel:End(.F.) me cierra tambien Excel.

Con Harbour y la clase tOleAuto ejecutar oExcel:End(.F.) dejaba excel abierto o al cerrar Excel cerraba el proceso en el programa.
Un saludo

Fernando Gonz谩lez Diez

ALSIS Sistemas Inform谩ticos

Continue the discussion