Visual Basic - *Error '91'en tiempo de ejecución: Variable de tipo Object o variable de bloque With no está estab.*

Life is soft - evento anual de software empresarial
   
Vista:

*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!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

*Error

Publicado por Carlos Alberto (261 intervenciones) el 16/09/2013 01:15:57
Hola amigo
Algo complicado tu situación teniendo en cuenta que intentas cerrar un Excel que esta abierto desde otra maquina.
Sabes que, te recomiendo que no intentes abrir el Excel compartido, porque mas bien, no le dices a tu programa que antes de abrir el Excel original realice una copia en un directorio exclusivo para tu aplicativo, así siempre lo tendrás disponible y con dicho archivo podrás realizar lo que desees, el archivo original déjalo quieto ya que es complicado determinar cuando un archivo esta o no abierto desde un punto remoto.
Espero te sirva de algo esto, suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar