EXCEL

HMG en Español

Moderator: Rathinagiri

Post Reply
User avatar
SALINETAS24
Posts: 667
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Contact:

EXCEL

Post by SALINETAS24 »

Hola a todos.
¿hay alguna forma de detectar si EXCEL está instalado en el equipo..?
Este es el código que utilizo para inicializar la excel, pero casualmente lo he ejecutado en un equipo sin EXCEL y da un error "garrafal", sería bueno detectar antes si la aplicación esta correctamente instalada

Code: Select all

		oExcel = CREATEObject( "Excel.ApplicatiOn" ) && llama a  excel
		oExcel:WorkBooks:Add() && crea archivo
		oSheet = oExcel:ActiveSheet && crea hoja

Muy agradecido...
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. :shock:
User avatar
bpd2000
Posts: 1207
Joined: Sat Sep 10, 2011 4:07 am
Location: India

Re: EXCEL

Post by bpd2000 »

BPD
Convert Dream into Reality through HMG
User avatar
nekbmm
Posts: 122
Joined: Sat Jul 16, 2016 3:16 am
DBs Used: DBF,SQLite
Location: Ivanjica, Serbia

Re: EXCEL

Post by nekbmm »

Code: Select all

 IF ( oExcel := win_oleCreateObject( "Excel.Application" ) ) != NIL
      oExcel:Visible := .T.
      oBook  := oExcel:workbooks:Open(hb_curdrive() + ':\'+CurDir()+"\RH TABELE (5).xls")
      oSheet := oBook:Sheets(9):select
      oSheet := oBook:ActiveSheet
   Else
      MsgStop("Ne postoji Excel - instaliraj ga !", "Poruka")
      Return
   Endif
User avatar
Claudio Ricardo
Posts: 367
Joined: Tue Oct 27, 2020 3:38 am
DBs Used: DBF, MySQL, MariaDB
Location: Bs. As. - Argentina

Re: EXCEL

Post by Claudio Ricardo »

Hola...
Basado en el código de Nekbmm hice una función para agregar a la colección y ponerla
al comienzo de un programa (que necesite Excel) advirtiendo al usuario.

Code: Select all

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Función ExcelExists () Comprueba si MsOffice Excel está instalado en el sistema (retorna .T.)
// Thanks to Nekbmm from Serbia and HMG Forum

Function ExcelExists

Return Iif ( oExcel := Win_OleCreateObject ( "Excel.Application" ) = Nil , .F. , .T.)
En el modulo main.prg:

Code: Select all

	If ! ExcelExists ()
	
		MsgStop ("Para el correcto funcionamiento de esta aplicación" + CRLF +;
				"deberá instalar previamente MsOffice Excel !" , "Atención !")
		
	EndIf
Corrige al sabio y lo harás más sabio, Corrige al necio y lo harás tu enemigo.
WhatsApp / Telegram: +54 911-63016162
Post Reply