Visual Basic - Sacar datos de Excel

Life is soft - evento anual de software empresarial
 
Vista:

Sacar datos de Excel

Publicado por Leonardo (50 intervenciones) el 28/09/2005 20:09:06
Hola!!!!!

EL PROBLEMA ES QUE NO CIERRA LA APLICACIÓN, O SEA QUE EJECUTO EL CÓDIGO (HACE LO QUE QUIERO), LUEGO SALGO DEL PROGRAMA E INTENTO ABRIR EL DOCUMENTO A TRAVES DE EXCEL Y NO SE ABRE EL DOCUMENTO.

Dim xlapp As excel.Application
Dim xlbook As excel.Workbook

Set xlapp = New excel.Application
Set xlbook = xlapp.Workbooks.Open ("MI ARCHIVO.xls")

Select Case Variable
Case Is = "A"
Pag = 1
Case Is = "B"
Pag = 2
Case Is = "C"
Pag = 3
Case Is = "D"
Pag = 4
End Select

xlapp.ActiveWorkbook.Sheets(Pag).Activate

'ACA, BUSCO DETERMINADOS VALORES EN LA PAGINA (Pag).

xlbook.Close
xlapp.Quit

Set xlbook = Nothing
Set xlapp = Nothing

Agradeceria cualquier tipo de ayuda,
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:Sacar datos de Excel

Publicado por ivan (463 intervenciones) el 29/09/2005 00:52:03
Yo también tengo el mismo problema, no puedo cerrar el excel desde código, si se puede cerrar pero no le dejo tiempo al usuario para que alcance a ver el reporte de excel, mira con estas instrucciones cierro el excel.exe

objExcel.Visible = False
objExcel.Quit
Set objExcel = Nothing

Lo malo es que al hacer esto no le doy tiempo al usuario de que vea la información

Para mostrar la hoja yo uso

objExcel.Visible = True

He notado que al hacer esto, se carga el archivo EXCEL.EXE, pero no puedo detectar cuando el usuario cerró la ventana de excel

Yo lo tengo de dos formas

objExcel.Visible = True
objExcel.ActiveWindow.SelectedSheets.PrintPreview
'genera el reporte y después borras el archivo Excel
' esto sirve para quitar de la memoria el excel
objExcel.Visible = False
objExcel.Quit
Set objExcel = Nothing

Muestra la preimpresión, cuando el usuario da clic a "cerrar" (a la pantalla de presentación preliminar) se ejecutan las 3 líneas siguientes, que sirven para descargarlo en memoria

Otra forma es

objExcel.Visible = True
objExcel.ActiveWindow.SelectedSheets.PrintPreview
Set objExcel = Nothing

Esto no lo quita de la memoria, ya que le le dejo al usuario la tarea de cerrar el programa, una vez cerrado ya se descarga el EXCEL.EXE de la lista de programas activos...

Otra cosa que me dijeron es que usara una API llamada FindWindow, lo cual no hice, ya que lo de las apis no entiendo que sea eso

Si acaso le sabes tu a eso solo es cosa de estar monitoreando con un control TIMER, con este control y con la función FINDWINDOWS puedes estar revisando que determinada ventana esté abierta...

Espero esto te sirva
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:Sacar datos de Excel

Publicado por Leonardo (50 intervenciones) el 29/09/2005 14:31:31
Gracias por la ayuda!!
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