Detectar Libro Abierto en L.A.N.

17/10/2003 - 19:06 por Cotarelo63 | Informe spam
Tengo un programa que he desarrollado en Excel con varios archivos: uno es
el principal de trabajo, y otros son los que sirven de Base de Datos.
Dicho programa lo uso en una red de area local, para lo cual cada usuario de
la red tiene una versión del archivo principal de trabajo en el Directorio
Común, donde están también los archivos de BD.
El problema que se me plantea es cuando un usuario de la red está efectuando
modificaciones en los archivos de Base de datos. En este caso, si quiero
hacer una modificación desde otro puesto de la red me abre una versión de
"sólo lectura" del archivo, dado que está en uso por otro usuario.
Lo que quiero es que en lugar de abrir esta versión de "sólo lectura" poner
un mensaje que avise del caso. Por tanto necesito alguna instrucción que
detecte si el archivo de BD está abierto por otro puesto.
Agradeceré alguna solución

Saludos

Juan Carlos Pérez
Asturias-España
 

Leer las respuestas

#1 Fernando Arroyo
17/10/2003 - 21:25 | Informe spam
No sé si te servirá: al abrir el libro puedes consultar si está abierto en modo de sólo lectura y si es así cerrarlo, algo como:

Workbooks.Open ("UnidadDeRed:\Libro.xls")
If ActiveWorkbook.ReadOnly Then
MsgBox "El libro ya está abierto en otro equipo, por lo que se cerrará."
ActiveWorkbook.Close
End If

Otra posibilidad es que al abrir el libro se creara un fichero de control en la unidad de red, y se borrara al cerrarlo. En este caso, incluso sería posible saber qué equipo está editando el libro usando una función de la API de Windows que debo tener por algún sitio.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Cotarelo63" escribió en el mensaje news:
Tengo un programa que he desarrollado en Excel con varios archivos: uno es
el principal de trabajo, y otros son los que sirven de Base de Datos.
Dicho programa lo uso en una red de area local, para lo cual cada usuario de
la red tiene una versión del archivo principal de trabajo en el Directorio
Común, donde están también los archivos de BD.
El problema que se me plantea es cuando un usuario de la red está efectuando
modificaciones en los archivos de Base de datos. En este caso, si quiero
hacer una modificación desde otro puesto de la red me abre una versión de
"sólo lectura" del archivo, dado que está en uso por otro usuario.
Lo que quiero es que en lugar de abrir esta versión de "sólo lectura" poner
un mensaje que avise del caso. Por tanto necesito alguna instrucción que
detecte si el archivo de BD está abierto por otro puesto.
Agradeceré alguna solución

Saludos

Juan Carlos Pérez
Asturias-España



Preguntas similares