| Claudio Benghi |
Interop ed excel... non chiude excel
Ho un problema con l'automazione di Excel da VbNet:
Rimane un task Excel.exe attivo dopo l'esecuzione del mio programma... ho letto un articolo in KB che prevede il problema e posta un workaround... ma non funziona: http://support.microsoft.com/default.aspx?scid=kb;EN-US;317109 Il codice incriminato è molto semplice... apre un file excel... copia uno sheet e lo chiude... se non copio lo sheet il task di excel viene chiuso, ma se eseguo la funzione oSheet.Copy(oSheet, ) non lo chiude più! mi sapete aiutare? Il codice della mia routine è il seguente: Dim oExcel As Object Dim oBook As Object Dim oWbs As Object Dim oWb As Object Dim oSheets As Object Dim oSheet As Object oExcel = CreateObject("Excel.Application") oExcel.visible = True System.Threading.Thread.CurrentThread.Sleep(3000) oWbs = oExcel.Workbooks oWb = oWbs.Open("C:\Bonghi\Ddm\LagDuf\JSR\jsr_dot_net\LD_JSR\Reports\store\1.xls") oSheets = oWb.sheets oSheet = oSheets(1) oSheet.Copy(oSheet, ) oWb.Save() NAR(oSheet) NAR(oSheets) NAR(oWb) NAR(oWbs) oExcel.quit() NAR(oExcel) ' Force garbage collection. System.Threading.Thread.CurrentThread.Sleep(3000) GC.Collect() La sub NAR è presa dall'articolo di KB Ora mi arrendo... buonanotte. Claudio |
| Felice Pollano |
Re: Interop ed excel... non chiude excel
Ciao,
Secondo me c'è qualcosa di sospetto in questo punto del tuo codice... oSheet = oSheets(1) oSheet.Copy(oSheet, ) non vorrei che il conteggio di riferimento crescesse di uno di troppo. Hai già provato a chiamare due volte NAR su oSheet ? |