Question : Comment à la mise à mort propre un objet d'Excel de mémoire.

Nous tous lui avons vu.  Cet EXCEL.EXE idiot reste résident dans la mémoire n'importe ce que l'approche vous prennent.  J'ai même vu les objets multiples d'EXCEL.EXE apparaître dans la liste de processus dans le gestionnaire de tâches quand en fait mon code ouvre seulement une occurrence.  J'ai proposé une manière de tuer tout l'Excel de mémoire.  J'espère que ceci aide votre angoisse dans le class= les " lineNumbers " >
1 de >

: 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : 28 : 29 : 30 : 31 : 32 : 33 : 34 : système " de
Imports de " prettyprint " de class= de l'id= " codeSnippet718371 " de >
 " clair " de 
class= > " clair " de
solutions >Related class= >excel " dans mémoire de title= " du href= " /Microsoft/Development/MS_Access/Q_26107862.html " de

Réponse : Comment à la mise à mort propre un objet d'Excel de mémoire.

ReleaseComObject et FinalReleaseComObject ne fonctionnent pas toujours.  (S'ils font jamais).  C'est la seule manière que j'ai pue tuer tout à fait consistantly l'ExcelApp dans lequel je travaille.  Ceci ne tue pas tout autre déjà-ouvrent des dossiers d'Excel….seulement l'un s'est ouvert par votre $$etAPP à ce moment-là parce que vous passez votre objet d'ExcelApp.

J'emploie la section de « Application.DoEvents () » juste pour lui donner un petit nombre de heures à la fin.  Vous ne pouvez pas avoir besoin de elle.

1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
Déclarer la bibliothèque « user32 » dit « PostMessageA » de PostMessage de fonction (hwnd de ByVal comme Int32, wMsg de ByVal comme Int32, le _
    wParam de ByVal comme lParam d'Int32, de ByVal comme Int32) comme Int32

Const WM_QUIT = &H12


ExcelWorker secondaire privé

    MyExcel comme Microsoft.Office.Interop.Excel.ApplicationClass
    
    'Blah - fade - fade font tout votre Excel Stuffz

    MyExcel.Quit

    PostMessage (Excel.Hwnd, WM_QUIT, 0, 0)

    Obscurcir I comme Int32
    Pour I = 0 à 10000
        Application.DoEvents ()
    Après

    MyExcel = rien

Sous-marin d'extrémité
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us