Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/03/2007, 16:39
Avatar de wiro
wiro
 
Fecha de Ingreso: abril-2006
Mensajes: 72
Antigüedad: 19 años
Puntos: 0
Re: se me queda Excel cargado en memoria al abrirlo desde VB6

Ok ahi le dejo el codigo, si alguien le sirve, pero quien me puede ayudar a cerrar el excel y que este no quede cargado en memoria al salirme de la aplicacion.

Sub TrasladarCuotas()
Dim ExcApp As Excel.Application
Dim ExcLibro As Excel.Workbook
Dim ExcHoja As Excel.Worksheet
Dim rsa As New ADODB.Recordset
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command

On Local Error GoTo msgErrF


Archivo = File1.Path & "\" & File1.FileName

Set ExcApp = New Excel.Application
Set ExcLibro = ExcApp.Workbooks.Open(Archivo)
Set ExcHoja = ExcLibro.Worksheets(Trim(txtHoja))

Barra.Visible = True
Barra.Max = Val(txtfila2 - txtfila1)
Barra.Value = Val(txtfila1)
min1 = 0

Set cmdlocal = New ADODB.Command
cmdlocal.Prepared = True
cmdlocal.ActiveConnection = strCone
cmdlocal.CommandTimeout = 20000

cmdlocal.CommandText = "select * from Tabla where campo1=0"
rsa.Open cmdlocal, , adOpenDynamic, adLockOptimistic

For i = Val(txtfila1) To Val(Me.txtfila2)

DoEvents

datos= Trim(ExcHoja.Range(CStr(txtCampos(0).Text & i)).Value)

With rsa
.AddNew
!campo1 = 1
!campo2 = IIf(datos = "", Null, datos
.Update
End With

OtroDato:
min1 = min1 + 1
Barra.Text = " Trasladando los datos " & min1 & " DE " & Barra.Max

DoEvents

If min1 <= txtfila2.Text Then
Barra.Value = min1
End If

Barra.Value = Barra.Value + 1
Next i

Set ExcApp = Nothing
Set ExcLibro = Nothing
Set ExcHoja = Nothing
Barra.Visible = False
Exit Sub
msgErrF:
q = Err.Number
If Err.Number = 9 Then
Set ExcApp = Nothing
Set ExcLibro = Nothing
Set ExcHoja = Nothing

wMsgErr = "Ocurrio un error en el traslado de clientes. El nombre de la hoja es incorrecto."
Barra.Visible = False
Exit Sub
Else
Set ExcApp = Nothing
Set ExcLibro = Nothing
Set ExcHoja = Nothing

wMsgErr = "Ocurrio un error en el traslado de clientes. " & Err.Description
Barra.Visible = False
Exit Sub
End If
End Sub