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/>
>

Responder a