Fråga : Hur till den renliga byten en Excel anmärker från minne.

Alla vi har sett det.  Den staginvånare för dumbom EXCEL.EXE i minne ingen materia vad att närma sig dig taken.  Jag har även sett att multipeln EXCEL.EXE anmärker syns i det processaa listar i uppgiftschef, när i det mitt faktumet kodifiera öppnar endast en händelse.  Jag kom upp med a långt att döda all EXCELS från minne.  Jag hoppas denna hjälper ditt kval i för
class=en " lineNumbers " >
1 för >
Imports " för prettyprint " för class= för id= " codeSnippet718371 " för >
Related lösningar för class= ": >excel för class= " i för minnet " för title= " för

Svar : Hur till den renliga byten en Excel anmärker från minne.

ReleaseComObject och FinalReleaseComObject fungerar inte alltid.  (Om de gör någonsin).  Detta är det enda långt mig har varit kompetent ganska consistantly att döda ExcelAppen i som I-förmiddagarbetet.  Detta dödar INTE någon annan redan-öppnar Excel sparar….,den endast net öppnade vid din app då, därför att du passerar din ExcelApp anmärker.

Jag använder ”Application.DoEventsen ()” delar upp precis för att ge det en liten tidsperiod till slutet.  Du kan inte behöva det.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
Förklara fungerar pseudonymen ”PostMessageA” för den PostMessage liben ”user32” (ByVal hwnd som Int32, ByVal wMsg som Int32, _,
    ByVal wParam som Int32-, ByVal lParam som Int32) som Int32

Const WM_QUIT = &H12


Privata underExcelWorker

    MyExcel som Microsoft.Office.Interop.Excel.ApplicationClass
    
    'Blah - blah - blah gör all din Excel Stuffz

    MyExcel.Quit

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

    Dunkelt I som Int32
    För I = 0 till 10000
        Application.DoEvents ()
    Därefter

    MyExcel = ingenting

Avsluta suben
Andra lösningar  
 
programming4us programming4us