Lunes 23 de Diciembre de 2024, 04:20
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Cerrar Excel
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Cerrar Excel (Leído 7498 veces)
Jeremy
Miembro activo
Mensajes: 40
Cerrar Excel
«
en:
Jueves 22 de Julio de 2004, 18:55 »
0
Hola amig@s. Tengo un problemilla, el cual no logro resolver, espero que vosotros podáis ayudarme:
Desde mi aplicación en VB hago una exportación de datos a Excel. La primera vez lo hace bien. Pero la segunda exportación que hago el Excel se queda bloqueado, en este caso lo que tengo que hacer para que a partir de la segunda exportación el Excel ya no de problemas es terminar el proceso excel.exe que se encuentra cargado en memoria. Esto lo hago "manualmente" desde el Administrador de procesos.
Cómo hago para desde el código de exportación, terminar el excel.exe? He probado con los consejos de alguno de vosotros, pero no da resultado. Este es el código con el que hago la exportación a Excel.
Código: Text
Private Sub mnuexp_Click()
Dim i As Long
Dim n As Long
lblinf.Visible = True
lblinf.Caption = "Se están exportando " & lstlib.ListItems.Count & " registros. Esta operación puede tardar unos minutos, por favor espere..."
pgbar.Visible = True
Screen.MousePointer = vbHourglass
On Error Resume Next
Set objExcel = GetObject(, "Excel.Application")
If Err.Number Then
Err.Clear
Set objExcel = CreateObject("Excel.Application")
If Err.Number Then
MsgBox "No se pudo abrir Excel"
End If
End If
Set objWorkbook = objExcel.Workbooks.Add
For i = 0 To lstlib.ListItems.Count
objWorkbook.ActiveSheet.Cells(i, 1).Value = lstlib.ListItems(i).Text
pgbar.Value = i * 100 / lstlib.ListItems.Count
For n = 0 To lstlib.ColumnHeaders.Count
lstlib.ColumnHeaders.Count = n
objWorkbook.ActiveSheet.Cells(i, n + 1).Value = lstlib.ListItems(i).ListSubItems(n).Text
Next n
Next i
Range("C1:C" & i).Select
Selection.NumberFormat = "#,##0.000 "
Range("A1").Activate
pgbar.Value = 0
pgbar.Visible = False
lblinf.Visible = False
Screen.MousePointer = Default
lblean.Caption = "Artículo " & lstlib.ListItems(lstlib.SelectedItem.Index).Text
stbbar.Panels(1).Text = "Familia: " + lstfamilias.ListItems(lstfamilias.SelectedItem.Index).ListSubItems(1) + " " + "Subfamilia: " + lstsub.ListItems(lstsub.SelectedItem.Index).ListSubItems(1) + "" _
+ " " + "Artículo: " + lstlib.ListItems(lstlib.SelectedItem.Index)
objExcel.Visible = True
Set objExcel = Nothing 'Con esto desvinculo el Excel de VB; en teoría...
objExcel.Application.Quit 'Con esto intento cerrar el Excel
End Sub
A pesar de intentar desvincularlo
Citar
Set objExcel=Nothing
y de cerrarlo
Citar
objExcel.Application.Quit
no funciona.
Espero que me puedan ayudar, muchas gracias.
Jeremy º¿º
Tweet
"Cuando quieres algo, todo el Universo conspira para que realices tu deseo..."
sujey_sanchez
Miembro activo
Mensajes: 26
Re: Cerrar Excel
«
Respuesta #1 en:
Viernes 23 de Julio de 2004, 02:43 »
0
Jeremy, yo hago lo mismo en una aplicacion, la unica diferencia q veo es que tu tienes:
Set objExcel = GetObject(, "Excel.Application")
Y yo tengo:
Set objExcel = New Excel.Application
De resto tenemos las misma sentencias, aunq no uso el Quit al final solo el Set objExcel = Nothing .
cambia solo esa linea haber que tal...
Sujey
Larrea
Nuevo Miembro
Mensajes: 2
Re: Cerrar Excel
«
Respuesta #2 en:
Sábado 24 de Julio de 2004, 18:09 »
0
Hola,
Yo si utilizo
Excel.application
y con la diferencia de que creo el libro con
Workbooks.Add
Dim ApExcel As Object 'Abrir excel
Set ApExcel = CreateObject("Excel.application") 'Crear el objeto
ApExcel.Workbooks.Add ' Añadir nuevo libro
ApExcel.Visible = True ' True muestra la aplicación y False la oculta
'
ApExcel.Cells(1, 1).Formula = "texto de prueba"
ApExcel.range("A1", "G1").MergeCells = True
ApExcel.Cells(1, 1).Font.Bold = True
ApExcel.Cells(1, 1).Font.Size = 12
ApExcel.Cells(2, 1).Formula = "Texto d eprueba"
ApExcel.range("A2", "G2").MergeCells = True
'
ApExcel.Application.Quit ' Cerrar Excel con el método Abandonar en el objeto de la aplicación.
Set ApExcel = Nothing ' Liberar la variable de objeto.
Saludos
nostromo
Miembro MUY activo
Mensajes: 134
Re: Cerrar Excel
«
Respuesta #3 en:
Domingo 25 de Julio de 2004, 08:01 »
0
Hola;
Para no tener problemas:
Código: Text
Dim xlsApp As Variant
Set xlsApp = CreateObject("Excel.application")
Terminando con :
Set ApExcel = Nothing
Y sin olvidar:
Código: Text
Private Sub Form_Unload(Cancel As Integer)
Set xlsApp = Nothing
End Sub
Nos vemos.
Jeremy
Miembro activo
Mensajes: 40
Re: Cerrar Excel
«
Respuesta #4 en:
Domingo 25 de Julio de 2004, 23:04 »
0
Gracias a todos por vuestras sugerencias y ayudas.... Aunq
"Cuando quieres algo, todo el Universo conspira para que realices tu deseo..."
Jeremy
Miembro activo
Mensajes: 40
Re: Cerrar Excel
«
Respuesta #5 en:
Domingo 25 de Julio de 2004, 23:11 »
0
Uyyy lo siento sin querer le dí a "Responder" y me salió el mensaje incompleto. Pues eso que agradezco vuestra ayuda y vuestra atención. Sigo teniendo el problema y es como les comentaba en un principio: cuando realizo la primera exportación a Excel todo va bien, pero en ese momento cierro la ventana de Excel sin cerrar mi programa, entonces es a partir de la segunda exportación cuando el Excel ya no va bien. y claro ahí tengo que desbloquearlo "manualmente " utilizando el "Administrador de tareas de Windows". Seguiré insistiendo
Como he dicho, una vez más gracias por todas vuestras sugerencias...
Jeremy º¿º
"Cuando quieres algo, todo el Universo conspira para que realices tu deseo..."
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Cerrar Excel