TExcelScript y xHarbour

Post Reply
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

TExcelScript y xHarbour

Post by fgondi »

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 GHE Sistemas Informáticos
User avatar
Vikthor
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Post by Vikthor »

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
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Post by fgondi »

Uso la última clase que modificaste.

Code: Select all

      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 GHE Sistemas Informáticos
Post Reply