Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problemi Office Interop con metodo Quit
giovedì 02 novembre 2006 - 11.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
gio 2 nov 2006 - 11:11
Salve ragazzi ho il seguente problema....
Ho una semplice form che ha due pulsanti
uno btnWord lancia le seguenti due istruzioni:
Dim appWord As New Word.Application
appWord.Quit()
come si puo' ben vedere queste istruzioni creano un'applicazione word e poi la chiudono difatti nel task manager si vede apparire il processo WinWord.exe e poi sul metodo quit il processo viene distrutto. fin qui tutto ok
per excel il risultato delle stesse operazioni è differente e mi spiego..
altro pulsante btnExce
su questo vengono eseguite le seguenti due istruzioni
Dim appExcel As New Excel.Application
appExcel.Quit()
allo stesso modo quando eseguo la prima istruzione viene creata una applicazione Excel(processo EXCEL.EXE nel task manager) ,ma quando utilizzo poi il metodo quit il processo non sparisce nel task manager lo fa solo quando chiudo l'intera applicazione vb.net che l'ha creato...
a cosa è dovuta questa differenza tra Word ed Excel??
avevo in parte risolto il problema con la seguente istruzione
dopo aver lanciato il metodo Quit
System.Runtime.InteropServices.Marshal.ReleaseComObject(appExcel)
con questa istruzione finalmente il processo EXCEL.EXE sparisce dal task manager
il problema sorge quando comincio ad operare sul foglio excel
in pratica semplicemente scrivo il seguente codice
Dim Percorso As String = "D:\provaexcel\prova.xls"
Dim PivotTabella As New Excel.Application
Dim XlwbDati As Excel.Workbook
Dim oMissing = System.Reflection.Missing.Value
XlwbDati = PivotTabella.Workbooks.Open(Percorso, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)
XlwbDati.Close()
PivotTabella.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(PivotTabella)
PivotTabella = Nothing
XlwbDati = Nothing
non appena ho aggiunto l'oggetto xlwbdati il processo EXCEL.EXE non sparisce dal task manager
ho provato a disallocarlo in tutti i modi perchè chiaramente adesso il problema è che l'oggetto PivotTabella non riesce a "scrollarsi di dosso l'oggetto XlwbDati"
Grazie per l'aiuto
GRAZIE CMQ
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 3 nov 2006 - 22:42
Ciao Contiello,
posto qui il Link all'altro Thread in modo che se qualcuno capita trova la risposta:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=11452
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !