
30/03/2007, 16:39
|
 | | | 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 |