Patrick_35 Posté(e) le 9 février 2005 Posté(e) le 9 février 2005 Bonjour à tous Je me suis fortement inspiré d'un lisp fait par KozMos Inc. afin de déterminer quelle est la version d'installée sur un poste. Comme je n'ai que la version 97, merci d'avance de me confirmer que ça fonctionne aussi pour les autres versions d'Excel et que le lisp vous donne la bonne version @+ (defun Liaison_Excel(/ Chemin_Excel Environ Version_Excel) (if (setq Chemin_Excel (vl-registry-read "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.EXE" "Path")) (progn (foreach Environ (list "SYSTEMROOT" "WINDIR" "WINBOOTDIR" "SYSTEMDRIVE" "USERNAME" "COMPUTERNAME" "HOMEDRIVE" "HOMEPATH" "PROGRAMFILES") (if (vl-string-search (strcat "%" Environ "%") Chemin_Excel) (setq Chemin_Excel (vl-string-subst (strcase (getenv Environ)) (strcat "%" Environ "%") Chemin_Excel)) ) ) (if (= (vl-string-elt Chemin_Excel (1- (strlen Chemin_Excel))) 92) (setq Chemin_Excel (strcat Chemin_Excel "Excel.exe")) (setq Chemin_Excel (strcat Chemin_Excel "\\Excel.exe")) ) (cond ((findfile (vl-string-subst "Excel8.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel8.olb" "Excel.exe" Chemin_Excel)) ) ((findfile (vl-string-subst "Excel9.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel9.olb" "Excel.exe" Chemin_Excel)) ) ((findfile (vl-string-subst "Excel10.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel10.olb" "Excel.exe" Chemin_Excel)) ) ) (cond ((= (vl-filename-base (vl-filename-directory Chemin_Excel)) "OFFICE11") (setq Version_Excel "2003") ) ((= (vl-filename-base (vl-filename-directory Chemin_Excel)) "OFFICE10") (setq Version_Excel "XP") ) ((= (strcase (vl-filename-base Chemin_Excel)) "EXCEL8") (setq Version_Excel "97") ) ((= (strcase (vl-filename-base Chemin_Excel)) "EXCEL9") (setq Version_Excel "2000") ) ) (if Version_Excel (alert (strcat "\nLa version d'installée est Excel " Version_Excel)) (progn (alert "\nExcel n'est pas installé sur le poste ou c'est une version inconnu") (setq Chemin_Excel nil) ) ) ) ) (princ) ) (liaison_excel) [Edité le 10/2/2005 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
fhervet Posté(e) le 9 février 2005 Posté(e) le 9 février 2005 Bonjour, Ne marche pas avec W2000 et office2000. "Excel n'est pas installé sur le poste ou c'est une version inconnu" Cordialement. Franck Hervet
fhervet Posté(e) le 9 février 2005 Posté(e) le 9 février 2005 Fonctionne après correction : Erreur dans la ligne suivante : (setq Chemin_Excel (strcat Chemin_Excel "\\Excel.exe")) Remplacer le \\ par \ Donc marche avec Office 2000. Cordialement. Franck Hervet
Patrick_35 Posté(e) le 10 février 2005 Auteur Posté(e) le 10 février 2005 Merci de ta contribution fhervet et de m'avoir indiqué un bug (bien que ça fonctionne sur ma 2000, m'enfin, c'est corrigé.)Donc, c'est OK sur 97 et 2000, reste à voir pour XP et 2003 @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
bonuscad Posté(e) le 10 février 2005 Posté(e) le 10 février 2005 Pour ton information, Sous win98SE et Win XP avec Office 2000 (Version 9.0 Build 4430) Ta routine retourne bien la bonne info d'Excel dans les 2 cas (avec 1 "\" ou les 2 "\\") Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Oli553 Posté(e) le 10 février 2005 Posté(e) le 10 février 2005 Sa marche pour Xp pro Sp2 et Office 2003 L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai. "Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok. "ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana Ma bibliothèque de blocs électrique :symbole elec.dwg
BIM G CO Posté(e) le 11 février 2005 Posté(e) le 11 février 2005 :( XP PRO SP1 avec Office XP (2002)je ne peux pas installer le sp2 car nous avons des logiciels incompatibles avec ! bah avec 2 \ ou 1 \ et même / (1 ou 2)ca ne fonctionne pas Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
BIM G CO Posté(e) le 11 février 2005 Posté(e) le 11 février 2005 pourtant en intercalant un (print Chemin_Excel") "C:\\Program Files\\Microsoft Office\\Office10\\Excel.exe" Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
Patrick_35 Posté(e) le 11 février 2005 Auteur Posté(e) le 11 février 2005 Merci à vous tous pour votre aide Pour maximilien, je ne comprends pas où ça planteEt en faisant un(vl-registry-read "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.EXE" "Path")ça donne quoi ? @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
BIM G CO Posté(e) le 11 février 2005 Posté(e) le 11 février 2005 "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.EXE" "Path") "C:\\Program Files\\Microsoft Office\\Office10\\" Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
BIM G CO Posté(e) le 14 février 2005 Posté(e) le 14 février 2005 Explication : Commande: (setq Chemin_Excel (_> (vl-registry-read ((_> "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.EXE" ((_> "Path" ((_> ) (_> ) "C:\\Program Files\\Microsoft Office\\Office10\\" Je suis allé dans l'explorateur dans ce dossier pour chercher [surligneur] "Excel10.olb"[/surligneur]. hé bien Patrick_35 il n'existe pas dans l'Office XP (2002) j'ai fais ensuite un [surligneur] "DIR"[/surligneur] de dos dans ce dossier : 13/03/1999 01:45 57 344 GREN50.OLB 02/11/1998 12:30 61 952 GRFR50.OLB 20/02/2001 04:12 626 688 MSWORD.OLB 08/03/2000 04:45 237 568 XL5EN32.OLB 02/11/1998 12:30 258 048 XL5FR32.OLB Alors je crois que je vais essayer de remplacer le [surligneur] "Excel10.olb"[/surligneur] par [surligneur] "Excel.exe"[/surligneur] pour voir si cela fonctionne! comme l'a dit Serge dans celui du 13/12/2004 sujet "AutoCAD et Excel" . Le pire c'est que j'en ai besoin car nous avons plusieurs versions de Office (97,2000,XP). Je dois faire ensorte que ca marche sur mon PC pour ensuite le publier sur le réseau.J'ai l'intention de l'utiliser pour rapatrier notre liste de radiateurs (faites à partir d'un logiciel de calcul RT2000 qui exporte en Excel)sur AutoCAD en me servant d'autres fichiers EXCEL pour la bibliothèque des rad (rendu graphique différent selon les marques et modèles de radiateurs) Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
Patrick_35 Posté(e) le 14 février 2005 Auteur Posté(e) le 14 février 2005 Maximilien, Je ne comprends pas où se situe l'erreur En décomposant le Lisp (if (setq Chemin_Excel (vl-registry-read "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.EXE" "Path"))Je récupere le chemin dans les registres (if (= (vl-string-elt Chemin_Excel (1- (strlen Chemin_Excel))) 92) (setq Chemin_Excel (strcat Chemin_Excel "Excel.exe")) (setq Chemin_Excel (strcat Chemin_Excel "\\Excel.exe")) )J'ajoute Excel.exe dans le chemin (et sur un A2000, il n'y a pas les deux \\ dans le chemin) (cond ((findfile (vl-string-subst "Excel8.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel8.olb" "Excel.exe" Chemin_Excel)) ) ((findfile (vl-string-subst "Excel9.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel9.olb" "Excel.exe" Chemin_Excel)) ) ((findfile (vl-string-subst "Excel10.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel10.olb" "Excel.exe" Chemin_Excel)) ) )Je regarde si Excel8.olb, Excel9.olb ou Excel10.olb existe sur le disque et je remplace alors dans le chemin --> Excel.exe par le .olb, sinon, je ne change rien (cond ((= (vl-filename-base (vl-filename-directory Chemin_Excel)) "OFFICE11") (setq Version_Excel "2003") ) ((= (vl-filename-base (vl-filename-directory Chemin_Excel)) "OFFICE10") (setq Version_Excel "XP") ) ((= (strcase (vl-filename-base Chemin_Excel)) "EXCEL8") (setq Version_Excel "97") ) ((= (strcase (vl-filename-base Chemin_Excel)) "EXCEL9") (setq Version_Excel "2000") ) )Et là, je détermine la version d'Excel @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
BIM G CO Posté(e) le 14 février 2005 Posté(e) le 14 février 2005 c'est tout simpliment qu'il manque un [surligneur] STRCASE[/surligneur]le Chemin qu'il me donne c'est en minuscule d'où l'erreur je viens de le découvrir ce midi ;) :cool: :cool: Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
BIM G CO Posté(e) le 14 février 2005 Posté(e) le 14 février 2005 en insérant le code çà ira mieux ((= (strcase (vl-filename-base (vl-filename-directory Chemin_Excel)) ) "OFFICE11" ) (setq Version_Excel "2003") ) ((= (strcase (vl-filename-base (vl-filename-directory Chemin_Excel)) ) "OFFICE10" ) (setq Version_Excel "XP") ) Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
BIM G CO Posté(e) le 14 février 2005 Posté(e) le 14 février 2005 mais il faut que tu sache Excel10.olb n'existe pas! Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office PlaquetteDeplianteMars2024.pdf
Patrick_35 Posté(e) le 14 février 2005 Auteur Posté(e) le 14 février 2005 C'est tellement simple que j'ai honte, m'enfin :red: Bon, je le poste dans les routines lisp en débugé @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant