Aller au contenu

Excel toujours actif


Patrick_35

Messages recommandés

Bonjour à tous

Je lance Excel dans ce style

(setq xl (vlax-get-or-create-object "Excel.Application"))
(vla-put-visible xl 1)

 

Après toutes mes manip, je quitte Excel

(vla-quit xl)

 

Excel disparaît dans ma barre des tâches, mais j'ai la mauvaise surprise en lançant le gestionnaire de tâches de windows et en regardant dans le processus de le retrouver ??? :o

 

Comment faire pour le supprimer définitivement de la mémoire ??? :casstet:

 

Le soucis c'est quand j'arrête le pc, qu'excel est toujours actif, sauf si je termine le processus, mais ce n'est pas le top :mad:

 

@+

 

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir Serge

Merci de ta réponse. J'ai bien essayé le vlax-release-object et pour autocad, c'est nickel, on peut refaire d'autres relations sans problème. C'est dans l'environnement windows où sa pêche. D'ailleur, si tu fais un vla-put-visible excelapp 1 juste après un vla-quit excelapp et même après un vlax-release-object excelapp, tu le revois apparaître, sans une feuille vierge, juste l'appli, mais elle est toujours là :casstet:

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Wow,

 

Je suis devenu ceinture orange :-)

 

En passant, pour charger la librairie:

 

(vl-load-com)

(if (not excm-open)

(progn

(vlax-import-type-library

:tlb-filename

"C:\\Program Files\\Microsoft Office\\Office10\\EXCEL.EXE" ; olb file

:methods-prefix "excm-"

:properties-prefix "excp-"

:constants-prefix "excc-"

)

))

 

puis après, tu peux appeler (excp-put-visible ...)

 

Serge

Lien vers le commentaire
Partager sur d’autres sites

Salut

Merci, j'arrive aussi à importer mes librairies. Ce qui me dérange, c'est le chemin complet qu'il faut fournir. J'ai eu beau chercher dans les registres, je n'ai rien trouvé de convaincant comme clé,si avec des codes à rallonge, ce qui me fait penser que ce n'est pas forcément identique d'un passerelle à une autre (au fait, je suis sur NT4 avec un autocad 2000)

Pour ton excp-put-visible ..., quel est son interêt par rapport au vla-put-visible ... ?

Et je vois aussi que tu fais ta liaison directement sur l'excecutable, pas sur le ...8.olb d'excel (je ne me rapelle plus de son nom), et quel interêt ?, passer dune version à une autre et être sur que ça reste compatible ?

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Pour le nom à fournir, je peux t'envoyer un fichier fas contenant la fonction (GETEXCELPATH) et qui te retournera l'information voulue, pour Windows95 à Windows XP et de Excel 5 à Excel 2003. Tu seras certains d'être compatible, peu importe la situation.

 

Pour ce qui est de vla-put-visible vs excp-put-visible, la première est liée tardivement (ligature tardive ou late binding) tandis que la seconde est liée tôt (early binding). Tu y gagne sen performance et, dans ce cas-ci, en résultat.

 

Serge

 

Note: Y a-t-il moyen de joindre des fichiers ou des images dans ce forum?

 

Lien vers le commentaire
Partager sur d’autres sites

Salut

Merci pour tes précisions

Pour ton fichier, si tu veux que d'autres personnes en profitent, tu peux, soit faire un lien depuis un site perso ou encore l'envoyer au webmaster qui le mettra dans la rubrique téléchargement membres, ou sinon, je t'envoi mon adresse en privé

Pour la photo, tu fais de même

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Au plaisir,

 

Suggestion:

(if (not getExcelPath) (load "getExcelPath.fas"))

(setq Excel_Info (getExcelPath))

(setq Excel_Path (cdr (assoc "path" Excel_Info)))

(setq Excel_OlbFile (cdr (assoc "olb" Excel_Info)))

(setq Excel_ExecFile (cdr (assoc "exe" Excel_Info)))

(if (not excm-open)

(progn

(vlax-import-type-library

:tlb-filename

Excel_OlbFile ; olb file

:methods-prefix "excm-"

:properties-prefix "excp-"

:constants-prefix "excc-"

)

 

Serge

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité