Pergunta : Como à matança limpa um objeto de Excel da memória.

Nós todos vimos-lhe.  Esse EXCEL.EXE parvo permanece residente na memória não importa o que a aproximação você toma.  Eu vi mesmo objetos múltiplos de EXCEL.EXE aparecer na lista process no gerente de tarefa quando de fato meu código abre somente uma ocorrência.  Eu vim acima com uma maneira de matar todo o Excel da memória.  Eu espero que este ajuda sua angústia no class= " lineNumbers " >
1 do >

: 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: sistema codeBody dos >Imports do " prettyprint " " do class= do id= " codeSnippet718371 do >
 " desobstruído " de 
class= > " desobstruído " do
soluções >Related class= >excel qRelatedParent " do class= " na memória " do title= " do href= " /Microsoft/Development/MS_Access/Q_26107862.html do

Resposta : Como à matança limpa um objeto de Excel da memória.

ReleaseComObject e FinalReleaseComObject não trabalham sempre.  (Se fazem nunca).  Esta é a única maneira que eu pude matar completamente consistantly o ExcelApp em que eu estou trabalhando.  Isto não mata nenhum outro já-abre limas de Excel….o somente o um abriu por seu app naquele tempo porque você passa seu objeto de ExcelApp.

Eu uso de “a seção Application.DoEvents ()” apenas para dar-lhe uma pequena quantidade de hora de fechar-se.  Você não pode precisá-la.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
Declarar o liberal “user32” aliás “PostMessageA” de PostMessage da função (hwnd como Int32, wMsg como Int32, o _ de ByVal de ByVal
    wParam de ByVal como o lParam de Int32, de ByVal como Int32) como Int32

Const WM_QUIT = &H12


ExcelWorker secundário confidencial

    MyExcel como Microsoft.Office.Interop.Excel.ApplicationClass
    
    '- Blá - blá blá faz todo seu Excel Stuffz

    MyExcel.Quit

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

    Escurecer i como Int32
    Para i = 0 a 10000
        Application.DoEvents ()
    Em seguida

    MyExcel = nada

Submarino da extremidade
Outras soluções  
 
programming4us programming4us