Problemas con la automatización de Excel
Publicado por Vicente (2 intervenciones) el 31/01/2006 08:28:30
Estoy realizando el proyecto final de carrera con VB6 y he desarrollado una aplicación bastante compleja, pero tengo problemas con la automatización de Excel. Si abro un archivo lo modifico y lo cierro, perfecto. Los problemas vienen cuando intento abrir varios archivos a la vez y crear un tercero . He repasado el código, he mirado libros... y en teoría debería funcionar pero... Utilize Windows Xp, Office Xp y VB6.
El problema es que una vez que ejecuto el código, Excel no responde, si vuelvo a ejecutar el código el programa se cuelga y no puedo ni siquiera abrir Excel. He observado en el Administrador de tareas que queda un proceso “Excel.es” abierto, al cerrarlo Excel vuelve a funcionar.
Por tal de aislar el problema, he creado una sencilla aplicación que abre un libro de Excel y copia la primera pagina en un nuevo libro, no soy capaz de hacerlo funcionar correctamente. Incluyo el código a ver si me podéis ayudar y gracias por intentarlo.
Private Sub Command1_Click()
Dim msexcel As Object
Set msexcel = New Excel.Application
CommonDialog1.DefaultExt = "xls"
CommonDialog1.Filter = ".xls | *.xls"
CommonDialog1.DialogTitle = "Abrir"
CommonDialog1.ShowOpen
With msexcel
msexcel.Workbooks.Open FileName:=CommonDialog1.FileName
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
CommonDialog1.DefaultExt = "xls"
CommonDialog1.Filter = ".xls | *.xls"
CommonDialog1.DialogTitle = "Guardar como"
CommonDialog1.ShowSave
ActiveWorkbook.SaveAs FileName:= _
CommonDialog1.FileName, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
End With
msexcel.Quit
Set msexcel = Nothing
End Sub
El problema es que una vez que ejecuto el código, Excel no responde, si vuelvo a ejecutar el código el programa se cuelga y no puedo ni siquiera abrir Excel. He observado en el Administrador de tareas que queda un proceso “Excel.es” abierto, al cerrarlo Excel vuelve a funcionar.
Por tal de aislar el problema, he creado una sencilla aplicación que abre un libro de Excel y copia la primera pagina en un nuevo libro, no soy capaz de hacerlo funcionar correctamente. Incluyo el código a ver si me podéis ayudar y gracias por intentarlo.
Private Sub Command1_Click()
Dim msexcel As Object
Set msexcel = New Excel.Application
CommonDialog1.DefaultExt = "xls"
CommonDialog1.Filter = ".xls | *.xls"
CommonDialog1.DialogTitle = "Abrir"
CommonDialog1.ShowOpen
With msexcel
msexcel.Workbooks.Open FileName:=CommonDialog1.FileName
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
CommonDialog1.DefaultExt = "xls"
CommonDialog1.Filter = ".xls | *.xls"
CommonDialog1.DialogTitle = "Guardar como"
CommonDialog1.ShowSave
ActiveWorkbook.SaveAs FileName:= _
CommonDialog1.FileName, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
End With
msexcel.Quit
Set msexcel = Nothing
End Sub
Valora esta pregunta


0