Bonjour,
Depuis mon programme en C#, j'arrive à lancer MS-Excel (non visible) et faire les traitements désirés. Je ferme l'application (cf. code) à priori correctement, cependant, le processus MS-Excel n'est pas arrêté... Il ne l'est que lorsque l'application est terminée...
Tout ceci ne serait pas génant si j'utilisais bien une application. Le problème est que ce bout de code se retrouve dans une tâche externe rattachée a une base de données et cette tâche n'est arrêtée que lorsque la base l'est. Du coup, en utilisation normale, je me retrouve avec XXX process MS-Excel
Code :
- using System;
- using Excel;
- namespace testExcel
- {
- /// <summary>
- /// Description résumée de Class1.
- /// </summary>
- class Class1
- {
- /// <summary>
- /// Point d'entrée principal de l'application.
- /// </summary>
- [STAThread]
- static void Main(string[] args)
- {
- Excel.Application app = new Excel.ApplicationClass();
- app.Visible = true; // ou laisser la valeur par défaut pour ne pas montrer la fenêtre excel
- int i = 0;
- System.Threading.Thread.Sleep( 1000 ); // juste pour montrer qu'Excel s'ouvre bien comme il faut
- app.Quit();
- app = null;
- while( i++ < 100 )
- System.Threading.Thread.Sleep( 1000 );
- } // <-- On arrive ici et le processus Excel n'est toujours pas terminé...
- }
- }
|
PS : Ne pas oublier de référencer l'objet COM adéquat.
Message édité par bb138 le 23-10-2006 à 13:53:22