Eso es programar BIEN. Por fin, algo auto documentado.
Saludos Carlos El 18 de diciembre de 2008 11:25, Carlos Bernardo Maggiotti < [email protected]> escribió: > Yo lo resolvi de la siguiente manera. Quiza no sea muy prolijo pero me > funciono. > > 1 - La idea es almacenar la referencia al Proceso en el que corre la > isntancia de Excel > > 'Memory Proc reference > Dim oProc As System.Diagnostics.Process > > 2 - En el momento de crear la instancia Excel mandamos a obtener la > referecnia > > oExcel = New Excel.Application > 'Get the Recent Excel Instance > Call GetProc() > > 3 - Este seria el *GetProc()* en el que tomamos el ultimo proceso creado > (asumimos que es nuestro Excel) > > Private Sub GetProc() > Dim dStartTime As DateTime = Convert.ToDateTime("01-01-2006 00:00:00") > Dim oProcs() As System.Diagnostics.Process > Dim i As Integer > oProcs = System.Diagnostics.Process.GetProcessesByName("EXCEL") > For i = 0 To oProcs.Length - 1 > If dStartTime < oProcs(i).StartTime() Then > dStartTime = oProcs(i).StartTime() > oProc = oProcs(i) > End If > Next > End Sub > > 4 - Viendo esto un poco yo tomaria el valor de la variable dStartTime > instantes antes de ejecutar 'oExcel = New Excel.Application' (fé de > errata) > > 5 - Teniendo el proceso referenciado, podrémos entonces hacer lo siguiente. > (En un Finalize) > > Call KillProc() > > Siendo *KillProc()* > > Private Sub KillProc() > oProc.Kill() > End Sub > > Saludos y espero que les sirva. Si alguien aporta algo mejor pues > bienvenido sea... > > CarlosMag > ------------------------------ > > From: [email protected] > To: [email protected] > Subject: [vbnet] Excel > Date: Thu, 18 Dec 2008 11:02:06 -0200 > > > Mauro: > > Yo en lo personal lamentablemente ya renegué con eso y mucho pero no > encontré forma de solucionarlo, sigue ahí cada tanto explotando el server > porque se queda sin memoria cuando muchos reportes se exportan seguido. Tené > en cuenta que si bien el proceso queda, un par de horas después (por lo > menos en mi caso) se mata solo. > > > > Si alguien encuentra el "key" de la cuestión, me sumo al agradecimiento. > > > > Saludos. > > > > > > *García Máximo* > > *Socio MUG Nº 2275*** > > *[email protected]*** > ------------------------------ > > *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Mauro > Andrea > *Sent:* Jueves, 18 de Diciembre de 2008 11:45 a.m. > *To:* vbnet List Member > *Subject:* [vbnet] Excel > > > > Hola a todos.... > > > > Les comento, estoy trabajando en una aplicación que exporta de forma > automática datos a una planilla en Excel y después envía la planilla zipeada > por mail. > > > > El tema es que a pesar de guardar el libro, cerrarlo y cerrar el Excel con > su método "quit" éste sigue quedando en memoria por lo que tengo que > ejecutar un comando para que mate el proceso que quedó en la memoria.... > > > > Alguno ya renegó con ésto y me puede pasar algo de info? > > > > Gracias. > > > > *Mauro Andrea** > **Newdev** **S.R.L**. - Tecnología Informática* > *Nueva dirección: **Rioja 1151 Piso 3 Of. 3 > Tel. (0341) 530-0572 / 425-9808 > MSN: [email protected]** > **www.newdev.com.ar* > > > > ------------------------------ > ¡Aprendé como hacerlo aquí! Llamá a telefonos fijos desde tu > Messenger<https://live.us.telefonica.com/> >
