macro error al abrir un archivo abierto

01/11/2005 - 23:28 por Angel | Informe spam
Como puedo evitar que una macro intente abrir un archivo que ya estaba
abierto y arroje un error?
 

Leer las respuestas

#1 Héctor Miguel
02/11/2005 - 02:56 | Informe spam
hola, Angel !

Como puedo evitar que una macro intente abrir un archivo que ya estaba abierto y arroje un error?



puedes definir una funcion que se encargue de averiguar si un libro ya esta abierto en la sesion [p.e.]
en un modulo de codigo 'normal' ==
a) si NO se trata de archivos 'en red', o ya son archivos de excel, o...
Function EsArchivoAbierto(ByVal Nombre As String) As Boolean
Dim Libro As Workbook
On Error Resume Next
Set Libro = Workbooks(Nombre)
EsArchivoAbierto = (Not Libro Is Nothing)
Set Libro = Nothing
End Function

b) si SON archivos 'en red'...
Function EsArchivoAbierto(Nombre As String) As Boolean
Dim Archivo As Byte
Archivo = FreeFile
On Error Resume Next
Open Nombre For Binary Access Read Write Lock Read Write As #Archivo
Close #Archivo
If Err.Number = 0 Then Exit Function
EsArchivoAbierto = True
Err.Clear
End Function

=> la forma de 'llamar' a esta funcion [una de las dos] es +/- como sigue...
If [Not] EsArchivoAbierto("Nombre del archivo.EXT") Then ' ...

si cualquier duda... comentas ?
saludos,
hector.

Preguntas similares