Accueil > Forum > > > > Texcelaplication problème de fermeture
Texcelaplication problème de fermeture
mercredi 6 septembre 2006 à 09:55:46 |
Texcelaplication problème de fermeture

blood01
|
Bonjour à tous,
Je suis en train de développer une application au boulot qui utilise plusieurs classeurs excel. J'envoie des données dans ces memes classeurs, j'exécute les macros excell et puis je récupère les résultats. Cette partie marche impeccable. C'est lors de la fermeture du classeur que ça coince. En effet, j'utilise le code suivant pour fermer excel :
monclasseur.close(True, emptyparam, emptyparam, 0);
seulement, malgré cette instruction, dans les processus du gestionaire des taches, il reste un EXCEL.EXE de visible. que je suis obligé de fermer à la main.
Je voudrais savoir si c'est normal que le classeur ne se ferme pas malgré l'instruction "monclasseur.close" et si oui, par quel moyen puis-je tuer le process excel ? par une instruction killprocess par exemple....
merci de votre aide précieuse.
david
|
|
mercredi 6 septembre 2006 à 13:21:37 |
Re : Texcelaplication problème de fermeture

MorpionMx
|
Salut,
Je vais me baser sur mon experience automation office en C# pour tenter de t'aider (en esperant que je sois pas hors sujet, si tu ne fais pas de delphi .net)
Est-ce que tu fermes ton application excel, en plus du classeur ? Il faut que tu appeles la méthode Quit de ton objet Excel.Application.
Ensuite, essaie de leur assigner (aux objets representant ton classeur excel et l'appli excel), la valeur Nil ( FreeAndNil ? ) En C#, on appelle la méthode System.Runtime.InteropServices.Marshal.ReleaseComObject, peut-etre que ca te dit quelque chose. (Je connais pas l'equivalent en Delphi.Net)
Une fois tout cela effectué, tu peux toujours tester de forcer le Garbage Collector, via la méthode GC.Collect(), ca devrait radicalement supprimer ton probleme.
Mx MVP C#
|
|
mercredi 6 septembre 2006 à 13:48:39 |
Re : Texcelaplication problème de fermeture

blood01
|
Bon, je vais essayer d'être un peu plus clair.....
voici comment j'ouvre et j'essaie de fermer excel :
Classeurarcage :=ExcelApplication1.Workbooks.Open(PathArcage+Namearcage+'.xls', False,False,Emptyparam,Emptyparam,Emptyparam,Emptyparam,Emptyparam,Emptyparam,Emptyparam,Emptyparam,Emptyparam,Emptyparam, 0); ExcelApplication1.Visible[0] := true; Feuillearcage := Classeurarcage.Worksheets['BASE'] as _worksheet;
. . .
ExcelApplication1 := nil; Classeurarcage.close(False, (PathArcage+Namearcage+'.xls'),emptyparam,0); { normalement fermeture de la feuille Excel }
entre ces deux groupes d'instructions, j'effectue diverses opérations d'entrées sorties vers la feuille. Mais apres les 2 dernières instructions, il reste EXCEL.EXE dans le gestionaire de programe. comment faire pour fermer ce foutu excel ?
merci
david

|
|
mercredi 6 septembre 2006 à 13:56:12 |
Re : Texcelaplication problème de fermeture

MorpionMx
|
D'abord, ferme le classeur avant l'appli (logique). Donc essaie : Classeurarcage.close(....); ExcelApplication1.Quit(); Ensuite, essaie d'appeler (mais la je ne suis pas sur pour la syntaxe delphi) : System.Runtime.InteropServices.Marshal.ReleaseComObject(Classeurarcage); System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApplication1); Puis Classeurarcage := nil; ExcelApplication1 := nil; Et si tu constates que Excel.exe est toujours dans la liste des processus, tu ajoutes : GC.Collect(); Bien sur, met tout ce code dans un bloc finally (apres avec fait les habituels try/catch) afin que ces instructions soient appelées quoiqu'il arrive, et donc que la mémoire soit toujours libérée. Mx MVP C#
|
|
mercredi 6 septembre 2006 à 14:15:00 |
Re : Texcelaplication problème de fermeture

blood01
|
J'ai bien essayé :
Classeurarcage.close(....); ExcelApplication1.Quit();
mais impossible d'utiliser "System.Runtime.InteropServices.Marshal.ReleaseComObject....." qui ne semble pas exister (du moins sous cette forme) sous delphi..... si j'utilise
Classeurarcage := nil; ExcelApplication1 := nil;
ça ne marche pas non plus....
GC.collect(); n'existe pas non plus dans delphi....
une autre idée?
|
|
mercredi 6 septembre 2006 à 14:18:50 |
Re : Texcelaplication problème de fermeture

MorpionMx
|
En suivant ce lien je vois qu'ils utilisent GC.Collect [ Lien ]Tu fais bien du delphi.Net ? Sinon je ne sais pas comment tu peux interagir autrement avec le Garbage Collector :/ Mx MVP C#
|
|
mercredi 6 septembre 2006 à 14:27:46 |
Re : Texcelaplication problème de fermeture

blood01
|
euh non, je fais du delphi 6.......
donc si quelqu'un à une autre idée que le garbage collector...elle est la bienvenue....En fouillanrt, j'ai vu qu'il y aurait une solution en passant par les OleApplication et OleWorkbook.. Est-il possible d'utiliser ce Ole avec mon code ici plus haut?
merci
david
|
|
mercredi 6 septembre 2006 à 14:28:10 |
Re : Texcelaplication problème de fermeture

Bidou
|
Mx se lance dans le dephi ;-) J'aurais aussi proposé un Marshal.ReleaseComObject mais bon, je me doutais bien que ça n'existerait pas...
VC# forever 
|
|
mercredi 6 septembre 2006 à 14:33:30 |
Re : Texcelaplication problème de fermeture

blood01
|
je devrai peut-etre aller poster dans un forum C#, on me répondrait peut-etre sur delphi :o) MDR
Non, sans dec, il faut vraiment que vous m'aidiez là ;o)
merci
|
|
mercredi 6 septembre 2006 à 14:42:39 |
Re : Texcelaplication problème de fermeture

MorpionMx
|
J'ai du toucher au delphi en cours.... ca va bien faire 5 ans maintenant  Jamais refait depuis ^^ Erf, du delphi 6, t'aurais du me dire quand j'ai supposé un peu plus haut que c'etait du .Net ;) On trouve peu de ressources sur ton probleme :/ Sur tous les codes en delphi sur le sujet, je n'ai vu que des ExcelApplication.Quit(); et rien d'autre Au pire, essaye de Killer le processus Excel.exe via ton code, mais c'est loin d'etre une solution propre et satisfaisante. Désolé, je ne pourrais pas t'aider plus :/ Mx MVP C#
|
|
Cette discussion est classée dans : problème, excel, fermeture, instruction, texcelaplication
Répondre à ce message
Sujets en rapport avec ce message
Problème avec Excel (ole) [ par FeuilleMorte ]
J'ai toujours mon probleme lorsque je veux acceder a excel via Delphi. J'ai bien ajouter les uses : comobj, variants et même excel 97 ou Excel 2000Mon
Problème à la fermeture d'une form [ par Yil2201 ]
Salut à tous! Voilà, dans mon soft avant, j'avais mis la proprio de la Form SwForm sur bsDialog. Maintenant, vu que j'ai ma propre croix dans mon soft
Problème de fermeture Interbase [ par ajcom2001 ]
Bonjour à tous, J'ai développé une application en delphi7 avec interbase, tous fonctionne dans un premier temps tout fonctionne correctement et au fu
problème de format de date sous excel? [ par othland ]
Bonjour tout le monde; je récupère des donnée d'une table (sur un serveur distant) sachant que j'ai des champs de type smalldatetime, et lorsque j'ex
j’ai un problème Delphi-Excel [ par nesr ]
Bonjour à tous , j'ai un problème Jai fait une application en DELPHI7 qui ouvre un
Empecher la fermeture d'un feuille Excel [ par H60 ]
Bonjour à tous, Mon appli pilote Excel après creation par OLE (FeuilleExcel := CreateOleObject'Excel.Application')); Elle cree les feuilles,met les
Erreur à la fermeture [ par goimard ]
Bonjour,J'ai systématiquement une erreur à la fermeture de mon application. cela ne devrait pas être trop dur à trouver en théorie, le problème c'est
Rapidité d'access aux données [ par jeje2 ]
Bonjour,Je développe une interface avec delphi qui récupère des données d'une base SQL server 2005 express.Sur un formulaire j'ai 2 DBGrid et quelques
Découpe d'un 'objet 3D' sous GLScene [ par Champy33 ]
Bonjour à tous et à toutesJe me suis lancé dans la fabrication bénévole d'un logiciel qui servira à faire des plans de meubles au sein de l'associatio
SQL - problème avec 'Like %' [ par droopy30 ]
Bonjour,Je tente de faire un petit programme sous DELPHI 2006 qui accède à une base de mots en ACCESS (1 table, 2 champs).Je voudrais filtré le conten
Livres en rapport
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|