ARCHIVO ABIERTO

03/10/2008 - 18:59 por Jesus | Informe spam
Como puedo detectar cuando un usuario tiene abierto un archivo en la red.
Utilice Freefile, workbooks(), pero no se como hacerlo. Alguien me puede
ayudar.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/10/2008 - 19:11 | Informe spam
hola, Jesus !

Como puedo detectar cuando un usuario tiene abierto un archivo en la red.
Utilice Freefile, workbooks(), pero no se como hacerlo...



voy a suponer que es una accion que se va a repetir varias veces en algun proceso
(con lo que seria mejor definir una funcion personalizada y pasarle el nombre del libro)

si cualquier duda (o informacion adicional)... comentas?
saludos,
hector.

1) si NO se trata de archivos en red...
en un modulo de codigo normal ==Function EsLibroAbierto(Libro As String) As Boolean
On Error Resume Next
EsLibroAbierto = Len(Workbooks(Libro).Name)
End Function

-> la forma de llamar a esta funcion si quisierar abrir "el libro" es +/- como sigue...
If Not EsLibroAbierto("nombre del libro.xls") Then Workbooks.Open "c:uta yombre del libro.xls"

2) si SON archivos en red...
en un modulo de codigo normal ==Function EsLibroAbierto(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
EsLibroAbierto = True
Err.Clear
End Function

-> la forma de llamar a esta funcion si quisierar abrir "el libro" es +/- como sigue...
If Not EsLibroAbierto("C:\Ruta y\Nombre del libro.xls") Then Workbooks.Open "C:\Ruta y\Nombre del libro.xls"

toma nota que en ambos casos el libro que se abre queda como libro activo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida