Empecher la fermeture d'un feuille Excel

Signaler
Messages postés
46
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
5 février 2012
-
Messages postés
46
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
5 février 2012
-
Bonjour à tous,

Mon appli pilote Excel après creation par OLE
(FeuilleExcel := CreateOleObject'Excel.Application'));

Elle cree les feuilles,met les formules de calcul etc... et les remplie à partir d'un fichier.

Jusqu'ici pas de problème.

La seule difficulté que je rencontre c'est que l'utilisateur peut fermer directement Excel sans passer par mon programme. Or j'ai besoin de récupérer certains éléments avant la fermeture.

En d'autres termes comment empêcher Excel de se fermer autrement que par mon appli?

Merci pour vos réponses.

4 réponses

Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
Bonsoir,

FeuilleExcel.Visible := False
Excel
ainsi donc l'utilisateur n'aura pas accès à l'interface graphique de Excel, mais il faudra développer une interface graphique dans ton programme, non ?
LUC.
Messages postés
46
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
5 février 2012
1
Merci pour ta réponse, mais malheureusement elle ne résout pas mon problème.

En effet l'utilisateur doit pouvoir utiliser Excel et je n'ai besoin de récupérer le résultat que de certaines cellules.

En fait je veux soit empêcher la fermeture d'Excel soit en être informé et avoir le temps de récupérer mes informations
Messages postés
197
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
20 février 2013
1
Bonsoir,

un petit exemple :

procedure TForm1.Button1Click(Sender: TObject);
var hMenuHandle, happ:integer;
begin
 happ:=FindWindow('notepad', nil);
 hMenuHandle := GetSystemMenu(happ, False);
 if (hMenuHandle <> 0) then DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
end;

dans ce code l'application notepad aura la croix de fermeture en haut griser, dans le mini-menu à gauche, l'option Fermer ne sera pas présent

je pense qu'en poussant ce principe plus loin, il doit être possible d'enlever le fermer du menu principal, après il reste le alt-F4

bonne soirée
Messages postés
46
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
5 février 2012
1
Merci pour ta réponse.

Ton code fonctionne bien avec Notepad, encore qu'il ne désactive que le bouton système et qu'il est toujours possible de fermer l'appli par le Menu Quitter. Mais en cherchant un peu il doit être possible de trouver comment fermer le Menu.

Cependant ça ne fonctionne pas pour Excel.

Néanmoins c'est une piste et je vais chercher par là.

H60