Problemas con un proceso de excel
Primero me presento pues soy nuevo en este foro.
He encontrado por la web un montón de temas que hacen referencia al tema planteado, pero ninguno logra solucionarme el problema.
El problema es el siguiente.
Abro un libro de excel, y según los datos de entrada, este va pasando de hoja en hoja en el libro hasta que se cumple la condición.
Una vez encontrada la condición, pido que se visualice el resultado mediante el uso de excel.Application.Visible = True, y luego al cerrar el excel con la X, este se cierra correctamente, es decir no queda abierto.
En cambio cuando se cumple la condición, pero no pido visualizar el resultado,(es decir no hago visible la hoja y la cierro con X) la hoja de excel que tiene el resultado, me queda abierta.
Es como si faltaría aplicar el comando Unloadme.
Agradezco los comentarios y transcribo el código. Saludos
Option Explicit
Private Sub Command1_Click()
Dim objexcel As excel.Application
Dim xlibro As excel.Workbook
Dim i As Integer
i = 0
Set objexcel = New excel.Application
Set xlibro = objexcel.Workbooks.Open _
("C:\Ejemplos Visual\Plegados\Dimensionamiento correa\plegados3.xls")
For i = 1 To 4
objexcel.Sheets(i).Select
'Luces de pandeo
objexcel.Range("f9") = Text1(0).Text
objexcel.Range("f10") = Text2(0).Text
objexcel.Range("f11") = Text3(0).Text
'Caracteristicas de la seccion
objexcel.Range("j6") = Text5(1).Text
objexcel.Range("j7") = Text6(1).Text
objexcel.Range("j8") = Text7(1).Text
If Val(Text4(0).Text) <= Val(objexcel.Range("m10")) Then
'Obtengo el esfuerzo
Label7.Caption = objexcel.Range("m10")
Label7.Caption = Format(Label7.Caption, "########.00")
'Calculo el espesor
Label6.Caption = objexcel.Range("j9")
Label6.Caption = Format(Label6.Caption, "########.0")
Exit Sub
Else
End If
Next
xlibro.Close
objexcel.Application.Quit
Set objexcel = Nothing
Set xlibro = Nothing
End Sub
Private Sub Command2_Click()
excel.Application.Visible = True
End Sub
He encontrado por la web un montón de temas que hacen referencia al tema planteado, pero ninguno logra solucionarme el problema.
El problema es el siguiente.
Abro un libro de excel, y según los datos de entrada, este va pasando de hoja en hoja en el libro hasta que se cumple la condición.
Una vez encontrada la condición, pido que se visualice el resultado mediante el uso de excel.Application.Visible = True, y luego al cerrar el excel con la X, este se cierra correctamente, es decir no queda abierto.
En cambio cuando se cumple la condición, pero no pido visualizar el resultado,(es decir no hago visible la hoja y la cierro con X) la hoja de excel que tiene el resultado, me queda abierta.
Es como si faltaría aplicar el comando Unloadme.
Agradezco los comentarios y transcribo el código. Saludos
Option Explicit
Private Sub Command1_Click()
Dim objexcel As excel.Application
Dim xlibro As excel.Workbook
Dim i As Integer
i = 0
Set objexcel = New excel.Application
Set xlibro = objexcel.Workbooks.Open _
("C:\Ejemplos Visual\Plegados\Dimensionamiento correa\plegados3.xls")
For i = 1 To 4
objexcel.Sheets(i).Select
'Luces de pandeo
objexcel.Range("f9") = Text1(0).Text
objexcel.Range("f10") = Text2(0).Text
objexcel.Range("f11") = Text3(0).Text
'Caracteristicas de la seccion
objexcel.Range("j6") = Text5(1).Text
objexcel.Range("j7") = Text6(1).Text
objexcel.Range("j8") = Text7(1).Text
If Val(Text4(0).Text) <= Val(objexcel.Range("m10")) Then
'Obtengo el esfuerzo
Label7.Caption = objexcel.Range("m10")
Label7.Caption = Format(Label7.Caption, "########.00")
'Calculo el espesor
Label6.Caption = objexcel.Range("j9")
Label6.Caption = Format(Label6.Caption, "########.0")
Exit Sub
Else
End If
Next
xlibro.Close
objexcel.Application.Quit
Set objexcel = Nothing
Set xlibro = Nothing
End Sub
Private Sub Command2_Click()
excel.Application.Visible = True
End Sub
2 Respuestas
Respuesta de sir_drake
1
Respuesta de chicharos200