Verificar si EXCEL esta instalado
Moderator: Rathinagiri
- luisvasquezcl
- Posts: 1258
- Joined: Thu Jul 31, 2008 3:23 am
- Location: Chile
- Contact:
Re: Verificar si EXCEL esta instalado
Hola Pepe,
Es raro el error de CreateObject()
Para probar porque no cambias la siguiente linea:
Local oExcel := TOleAuto():New('Excel.Application')
a ver que pasa ...
Si no te funciona creo que tienes problemas de instalación de HMG.
Favor verifica y te sigo.
Saludos cordiales,
Luis Vasquez.
Es raro el error de CreateObject()
Para probar porque no cambias la siguiente linea:
Local oExcel := TOleAuto():New('Excel.Application')
a ver que pasa ...
Si no te funciona creo que tienes problemas de instalación de HMG.
Favor verifica y te sigo.
Saludos cordiales,
Luis Vasquez.
- Pepe Ruano
- Posts: 65
- Joined: Fri Aug 16, 2013 11:31 am
- DBs Used: DBF
- Location: Almansa, Albacete - Spain
- Contact:
Re: Verificar si EXCEL esta instalado
Hola Luis y gracias por tu sugerencia, pero no me funciona tampoco en equipos que no tienen instalado el Office ese es el problema y reporta el error que yá comenté :luisvasquezcl wrote:Hola Pepe,
Es raro el error de CreateObject()
Para probar porque no cambias la siguiente linea:
Local oExcel := TOleAuto():New('Excel.Application')
a ver que pasa ...
Si no te funciona creo que tienes problemas de instalación de HMG.
Favor verifica y te sigo.
Saludos cordiales,
Luis Vasquez.
Code: Select all
Date:20-11-15 Time: 20:27:18
Error TOleAuto/-1 : TOLEAUTO:NEW
Called from THROW(22)
Called from TOLEAUTO:NEW(110)
Called from COMPRUEBAEXCEL(541)
Called from MAIN(32)
Code: Select all
Procedure COMPRUEBAEXCEL()
Local oExcel := TOleAuto():New('Excel.Application')
if Ole2TxtError() != "S_OK"
MsgStop("Excel is not available - Error "+Ole2TxtError(), "Warning")
return .F.
else
MSGINFO("Microsoft Excel está INSTALADO","PRUEBA DE OLE")
Return .T.
endif
Retu Nil
Gracias de nuevo Luis.
- luisvasquezcl
- Posts: 1258
- Joined: Thu Jul 31, 2008 3:23 am
- Location: Chile
- Contact:
Re: Verificar si EXCEL esta instalado
Estimado,
Lamentablemente no tengo donde probar esta rutina ya que todos los pc tienen office.
Le dejo un ejemplo a ver si le funciona. En este caso si hay error lo captura y se muestra el tipo de error, su numero y termina la rutina volviendo desde donde fue llamada, por lo menos no se va a colgar la aplicación. Ojalá te pueda solucionar el problema.
Quedo atento a tu respuesta.
local bHandler := errorblock( { | x | break( x ) } )
local oExcel, oError
local lError := .F.
begin sequence
oExcel := TOleauto():New('Excel.Applicacion')
recover using oError
msginfo(hb_valtostr( oError:Description ) + "= "+ ;
hb_valtostr( oError:Operation )+HB_OSNEWLINE(),;
'Excel no existe' )
lError := .T.
end sequence
errorblock( bHandler )
if lError
return
endif
if Ole2TxtError() != "S_OK"
MsgStop("Excel is not available - Error "+Ole2TxtError(), "Warning")
return .F.
endif
/**** resto de tu rutina ****/
Lamentablemente no tengo donde probar esta rutina ya que todos los pc tienen office.
Le dejo un ejemplo a ver si le funciona. En este caso si hay error lo captura y se muestra el tipo de error, su numero y termina la rutina volviendo desde donde fue llamada, por lo menos no se va a colgar la aplicación. Ojalá te pueda solucionar el problema.
Quedo atento a tu respuesta.
local bHandler := errorblock( { | x | break( x ) } )
local oExcel, oError
local lError := .F.
begin sequence
oExcel := TOleauto():New('Excel.Applicacion')
recover using oError
msginfo(hb_valtostr( oError:Description ) + "= "+ ;
hb_valtostr( oError:Operation )+HB_OSNEWLINE(),;
'Excel no existe' )
lError := .T.
end sequence
errorblock( bHandler )
if lError
return
endif
if Ole2TxtError() != "S_OK"
MsgStop("Excel is not available - Error "+Ole2TxtError(), "Warning")
return .F.
endif
/**** resto de tu rutina ****/
- Pepe Ruano
- Posts: 65
- Joined: Fri Aug 16, 2013 11:31 am
- DBs Used: DBF
- Location: Almansa, Albacete - Spain
- Contact:
Re: Verificar si EXCEL esta instalado
Hola de Nuevo Luis.
He probado tu rutina y efectivamente no se cuelga la aplicación.
Pero ahora siempre me dice que Excel no existe ejecutandolo en el equipo que si que existe. No me reconoce la existencia de Excel. siempre devuelve .F. ??
Puedes probar tu misma rutina.
Gracias.
He probado tu rutina y efectivamente no se cuelga la aplicación.
Pero ahora siempre me dice que Excel no existe ejecutandolo en el equipo que si que existe. No me reconoce la existencia de Excel. siempre devuelve .F. ??
Puedes probar tu misma rutina.
Gracias.
- Pepe Ruano
- Posts: 65
- Joined: Fri Aug 16, 2013 11:31 am
- DBs Used: DBF
- Location: Almansa, Albacete - Spain
- Contact:
Re: Verificar si EXCEL esta instalado
Saludos Luis Vasquez.
Después de mi anterior comentario, he realizado varias pruebas y cambiado algo de código. Y ahora si que me funciona bien y me dice correctamente si está instalado Excel o no. Probado en un equipo con Office y Excel y otro Sin Office y por supuesto sin Excel y responde correctamente y no se cuelga.
Este es código final que he puesto:
Por favor se veis algo incorrecto, me lo haces saber pero está funcionando correctamente como yo quería, saber si puede ejecutar Excel o no y que devolviera el valor de Falso o Verdadero y ahora si que lo hace.
Muchas gracias por tu ayuda.
Después de mi anterior comentario, he realizado varias pruebas y cambiado algo de código. Y ahora si que me funciona bien y me dice correctamente si está instalado Excel o no. Probado en un equipo con Office y Excel y otro Sin Office y por supuesto sin Excel y responde correctamente y no se cuelga.
Este es código final que he puesto:
Code: Select all
*-----------------------------------------------------------------------------*
Procedure COMPRUEBAEXCEL() // COMPRUEBA SI TENEMOS EXCEL INSTALADO
*-----------------------------------------------------------------------------*
local bHandler := errorblock( { | x | break( x ) } )
local oExcel, oError
local lError := .F.
begin sequence
oExcel :=CreateObject("Excel.Application")
recover using oError
lError := .T.
end sequence
IF lError == .T.
MsgStop("Excel No está Disponible en este Equipo","Comprobar Excel")
ELSE
MsgInfo("Excel está Disponible en este Equipo","Comprobar Excel")
ENDIF
errorblock( bHandler )
IF lError
return .F.
ENDIF
IF Ole2TxtError() != "S_OK"
return .F.
ELSE
return .T.
ENDIF
Retu lError
*-----------------------------------------------------------------------------*
Muchas gracias por tu ayuda.
- luisvasquezcl
- Posts: 1258
- Joined: Thu Jul 31, 2008 3:23 am
- Location: Chile
- Contact:
Re: Verificar si EXCEL esta instalado
Hola Pepe,
Tu còdigo està correcto, yo no le harìa nada ya que està funcionando bien.
Te comento que los codigos que te pasè los uso en distintos programas y funcionan bien, incluso probados en windows xp, 8 y 10 de 32 bits, por eso me parece raro que hayas tenido problemas, pero si ya lo solucionaste, felicidades. Un problema menos con que lidiar 8).
Bueno, estamos en contacto.
Saludos desde Chile,
Luis Vàsquez.
Tu còdigo està correcto, yo no le harìa nada ya que està funcionando bien.
Te comento que los codigos que te pasè los uso en distintos programas y funcionan bien, incluso probados en windows xp, 8 y 10 de 32 bits, por eso me parece raro que hayas tenido problemas, pero si ya lo solucionaste, felicidades. Un problema menos con que lidiar 8).
Bueno, estamos en contacto.
Saludos desde Chile,
Luis Vàsquez.
- Pepe Ruano
- Posts: 65
- Joined: Fri Aug 16, 2013 11:31 am
- DBs Used: DBF
- Location: Almansa, Albacete - Spain
- Contact:
Re: Verificar si EXCEL esta instalado
Gracias a todos.
Me encanta este foro y ver como desinteresadamente todos los que más saben (gurus) y grandes profesionales en HMG y xbase, nos aportan sus conocimientos para que todos los que menos sabemos aprendamos más y nos ofrezcan sus códigos y experiencias personales, que seguro les habrá costado a lo largo del tiempo y lo aporten y compartan con todos.
¡ VIVA HMG CON ROBERTO LOPEZ Y TODOS LOS GRANDES MAESTROS QUE ESTAIS MANTENIENDO ESTE GRAN PROYECTO !
P.D.
No puedo nombrar a todos porque hay muchos que siempre estáis contribuyendo constantemente, la verdad es que es maravilloso que estéis tantos grandes expertos aportando vuestros conocimientos y ayuda en general para todos. -- ¡ FELICIDADES A TODOS ! --
VIVA HMG
English translator by Google Sorry
Thanks to all.
I love this forum and see how selflessly all the know (gurus) and great professionals in HMG and xbase, we bring knowledge to all who know unless we learn more and offer their personal experiences and codes, which secure them it must have cost over time and contribute and share with everyone.
CONGRATULATIONS TO ROBERTO LOPEZ PROJECT BY HMG GREAT MASTERS AND ALL THAT YOU ARE MAINTAINING this great project!
P.S.
I can not name them all because there are many who constantly contributing're always, the truth is it's wonderful that so many leading experts ye your knowledge and providing general assistance to all. -- CONGRATULATIONS TO ALL ! -
VIVA HMG
Me encanta este foro y ver como desinteresadamente todos los que más saben (gurus) y grandes profesionales en HMG y xbase, nos aportan sus conocimientos para que todos los que menos sabemos aprendamos más y nos ofrezcan sus códigos y experiencias personales, que seguro les habrá costado a lo largo del tiempo y lo aporten y compartan con todos.
¡ VIVA HMG CON ROBERTO LOPEZ Y TODOS LOS GRANDES MAESTROS QUE ESTAIS MANTENIENDO ESTE GRAN PROYECTO !
P.D.
No puedo nombrar a todos porque hay muchos que siempre estáis contribuyendo constantemente, la verdad es que es maravilloso que estéis tantos grandes expertos aportando vuestros conocimientos y ayuda en general para todos. -- ¡ FELICIDADES A TODOS ! --
VIVA HMG
English translator by Google Sorry
Thanks to all.
I love this forum and see how selflessly all the know (gurus) and great professionals in HMG and xbase, we bring knowledge to all who know unless we learn more and offer their personal experiences and codes, which secure them it must have cost over time and contribute and share with everyone.
CONGRATULATIONS TO ROBERTO LOPEZ PROJECT BY HMG GREAT MASTERS AND ALL THAT YOU ARE MAINTAINING this great project!
P.S.
I can not name them all because there are many who constantly contributing're always, the truth is it's wonderful that so many leading experts ye your knowledge and providing general assistance to all. -- CONGRATULATIONS TO ALL ! -
VIVA HMG
- serge_girard
- Posts: 3169
- Joined: Sun Nov 25, 2012 2:44 pm
- DBs Used: 1 MySQL - MariaDB
2 DBF - Location: Belgium
- Contact:
Re: Verificar si EXCEL esta instalado
+1 !!!!
Serge
Serge
There's nothing you can do that can't be done...
Re: Verificar si EXCEL esta instalado
Se que este hilo es algo viejo, desde ya voy a probarlos y queria aportar algo a estas exelentes respuestas, cuando quiero probar algun codigo como este que es necesario tener o no instalado tal o cual programa o version del mismo lo que hago es hacer uso de una maquina virtual que en este tiempo es tal facil hacer y poder contar con distintas plataformas a probar.
Muchas gracias a todos por su dedicacion y tiempo hacia los demas.
Muchas gracias a todos por su dedicacion y tiempo hacia los demas.