*Error '91'en tiempo de ejecución: Variable de tipo Object o variable de bloque With no está estab.*
Publicado por Edurne (1 intervención) el 05/09/2013 12:24:29
Buenos días,
Estoy realizando una aplicación en VB6 que recoge datos de un autómata y los pasa a un excel 2002. La aplicación va a estar en un ordenador todo el día encendido, ejecutándose 3 veces al día, con un timer. Cualquiera tiene acceso al excel y ese es mi problema, ya que si el excel está abierto cuando se ejecuta, da errores por todos lados.
El problema viene al sobreescribir el Excel que está abierto y he intentado guardarlo en un directorio secundario, cerrarlo y copiarlo al directorio original (más o menos).
Mi código lo que hace es, si encuentra un Excel abierto, escribe los datos en otro nuevo, ese lo guarda y cierra sin problemas pero lo malo viene al intentar cerrar el que estaba abierto:
oExcel.Aplication.DisplayAlerts = False 'Que no pregunte si guardar
'Guardar cambios en el fichero Excel (borrando y copiando) un un directorio intermedio
oExcel.ActiveWorkbook.SaveAs (strRutaExcel2)
oExcel.Quit
Set oHoja = Nothing
Set oLibro = Nothing
Set oExcel = Nothing
If isfileopen (strRutaExcel) Then 'Si encuentra el Excel original abierto
oExcel.ActiveWorkbook.SaveAs (strRutaExcel2) *Error*
oExcel.Quit
Set oHoja = Nothing
Set oLibro = Nothing
Set oExcel = Nothing
End If
Kill (strRutaExcel)
FileCopy "c:\2\" & "excel.xls", strRutaExcel
Espero que alguien pueda ayudarme!
Gracias!
Un saludo!
Estoy realizando una aplicación en VB6 que recoge datos de un autómata y los pasa a un excel 2002. La aplicación va a estar en un ordenador todo el día encendido, ejecutándose 3 veces al día, con un timer. Cualquiera tiene acceso al excel y ese es mi problema, ya que si el excel está abierto cuando se ejecuta, da errores por todos lados.
El problema viene al sobreescribir el Excel que está abierto y he intentado guardarlo en un directorio secundario, cerrarlo y copiarlo al directorio original (más o menos).
Mi código lo que hace es, si encuentra un Excel abierto, escribe los datos en otro nuevo, ese lo guarda y cierra sin problemas pero lo malo viene al intentar cerrar el que estaba abierto:
oExcel.Aplication.DisplayAlerts = False 'Que no pregunte si guardar
'Guardar cambios en el fichero Excel (borrando y copiando) un un directorio intermedio
oExcel.ActiveWorkbook.SaveAs (strRutaExcel2)
oExcel.Quit
Set oHoja = Nothing
Set oLibro = Nothing
Set oExcel = Nothing
If isfileopen (strRutaExcel) Then 'Si encuentra el Excel original abierto
oExcel.ActiveWorkbook.SaveAs (strRutaExcel2) *Error*
oExcel.Quit
Set oHoja = Nothing
Set oLibro = Nothing
Set oExcel = Nothing
End If
Kill (strRutaExcel)
FileCopy "c:\2\" & "excel.xls", strRutaExcel
Espero que alguien pueda ayudarme!
Gracias!
Un saludo!
Valora esta pregunta


0