Visual Basic.NET - Múltiples instancias de Excel

 
Vista:

Múltiples instancias de Excel

Publicado por Carlos Escribano Rey (59 intervenciones) el 09/09/2004 16:52:37
Bueno, ya que parece que controlamos un poco... :D ¿Qué puedo hacer para que cuando utilizo Excel desde un procedimiento se elimine el proceso de la memoria sin tener que cerrar la aplicación? Porque no me gustaría empezar a chupar memoria a lo loco.

Thanks!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Múltiples instancias de Excel

Publicado por Edgar (1501 intervenciones) el 09/09/2004 17:05:58
Hola

De verdad creo que tienes que cerrar la aplicación... puedes intentar cerrar la hoja o la instancia del Excel sin cerrar la aplicación, pero creo que el proceso seguirá en memoria

Ahora bien, si lo que quieres es abrir multiples instancias, tal como veo en el asunto de tu mensaje, lo mejor es crear una sola intancia de la aplicación, y múltiples hojas, de tal manera que solo cargues en memoria una aplicación Excel, e internamente creas todas las hojas que deseas, de esta manera podrás reducir drasticamente el uso de memoria e incluso de los procesos

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Múltiples instancias de Excel

Publicado por Polete (2 intervenciones) el 10/09/2004 10:29:14
No encentro ningún problema en tener multiples instancias de Excel, nosotros tenemos montado un sistma de salida de informes en Excel donde para cada formulario que lanza un informe crea su propia instancia de Excel y al salir del formulario elimina la instancia.
Más o menos para cada formulario...

Option Explicit

'Objetos de Microsoft Excel
Dim WithEvents miExcel As Excel.Application
Dim gWB As Workbook
Dim gWS As Worksheet

Private Sub Form_Load()
Set miExcel = New Excel.Application
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim Excel_Workbook As Workbook 'Objetos para Excel

Set gWS = Nothing: Set gWB = Nothing
For Each Excel_Workbook In miExcel.Workbooks
Excel_Workbook.Close False
Next Excel_Workbook

Set Excel_Workbook = Nothing
Set gWS = Nothing
Set gWB = Nothing
miExcel.Quit
Set miExcel = Nothing

End Sub

Dentro del formulario trabajas con la instancia creada en el Load y al salir se descarga en el UnLoad, sin ningún problema.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar