La Web del Programador: Comunidad de Programadores
 
    Pregunta:  51003 - COMO SABER SI TENGO UNA APLICACION INSTALADA
Autor:  Carlos E. Herrera
Hola que tal soy nuevo desarrollando en foxpro mi fuerte es VB me preguntaba como podria saber desde foxpro si tengo instalada una aplicacion, es decir, digamos que tengo un programa que me guarda datos a SQL Server desde un archivo plano de excel, es logico que para la lectura de la hoja de excel desde fox deve estar instalado excel en la maquina, bueno ¿Como saber o como puedo validar que este instalada el office (la aplicacion de excel) antes de ejecutar el proceso, de antemanos muchas gracias por la ayuda prestada

  Respuesta:  Leonardo Alfaro A.
Saludos y bendiciones, Carlos.
Prueba estas funciones

*----------------------------------------------------
* FUNCTION BuscaWord
* Busca si MS Word está instalado en la PC
*----------------------------------------------------
FUNCTION BuscaWord
LOCAL lcErrorAnt, loApp, CR
CR = CHR(13)
lcErrorAnt = ON("ERROR")
ON ERROR DO _MiError
loApp = CREATEOBJECT("Word.Application")
IF VARTYPE(loApp) = "O"
MESSAGEBOX("Nombre: " + loApp.NAME + CR + ;
"Versión: " + loApp.VERSION + CR + ;
"Build: " + TRANSFORM(loApp.BUILD), 64 )
RELEASE loApp
ELSE
MESSAGEBOX("Word no está instalado", 16)
ENDIF
ON ERROR &lcErrorAnt
RETURN
ENDFUNC

*----------------------------------------------------
* FUNCTION BuscaExcel
* Busca si MS Excel está instalado en la PC
*----------------------------------------------------
FUNCTION BuscaExcel
LOCAL lcErrorAnt, loApp, CR
CR = CHR(13)
lcErrorAnt = ON("ERROR")
ON ERROR DO _MiError
loApp = CREATEOBJECT("Excel.Application")
IF VARTYPE(loApp) = "O"
MESSAGEBOX("Nombre: " + loApp.NAME + CR + ;
"Versión: " + loApp.VERSION + CR + ;
"Build: " + TRANSFORM(loApp.BUILD), 64 )
RELEASE loApp
ELSE
MESSAGEBOX("Word no está instalado", 16)
ENDIF
ON ERROR &lcErrorAnt
RETURN
ENDFUNC

*----------------------------------------------------
* PROCEDURE _MiError
* Usado por BuscaWord y BuscaExcel
*----------------------------------------------------
PROCEDURE _MiError
RETURN
ENDPROC
*----------------------------------------------------