Bonjour,
Je suis en train de tester "Microsoft.Office.Interop.Excel", afin de mettre à jour un fichier Excel.
- Création d'un nouvel objet Microsoft.Office.Interop.Excel.Application,
- Ouverture d'un fichier Excel existant
- Retraitement du fichier,
- Sauvegarde, fermeture fichier et sortie application.
Mon problème, est qu'Excel ne se ferme pas proprement, une fois que mon traitement est terminé (une fonction de mon application). Il n'apparait plus dans la barre des taches, mais reste visible dans le gestionnaire des tâches.
Par contre, si je sors complètement de mon application, il disparait également du gestionnaire des tâches.
La conséquence, c'est que pendant cette phase ou il est "mal fermé", si l'utilisateur décide d'ouvrir un fichier Excel (en dehors de mon appli), il ne voit apparaitre que les barres de titre et de menu d'Excel, et pas les classeurs.
Voici mon bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 ... using MonExcel = Microsoft.Office.Interop.Excel; ... MonExcel.Application ExcelApp = new MonExcel.Application(); MonExcel.Workbook MonBook = ExcelApp.Workbooks.Open(MonFichier,...); /* Traitement de mon fichier */ MonBook.Save(); MonBook.Close(false, missing, missing); ExcelApp.Quit(); // J'ai essayé d'ajouter la commande ci-dessous que j'ai trouvé sur Internet : System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApp); // J'essaye aussi de mettre la variable à null : ExcelApp = null;
Partager