Detectar archivo abierto

Trabajo con excel 97
Necesito una macro que detecte si un libro excel está abierto por otro usuario.
¿Que sintaxis me recomendás.?

1 Respuesta

Respuesta
2
Existe una función excelente que es "UserStatus", pero para que funcione se precisa que el libro sea "compartido".
Por "compartido" se entiende que puede ser editado por varios Usuarios.
Para "Compartir" un libro se ejecuta "Herramientas/Compartir libro..." y se marca la opción "Permitir modificación por varios usuarios a la vez...".
El archivo se grabará con esta opción.
Cuando en otro momento utilices esta opción "Herramientas/Compartir libro..." vas a ver en la pestaña "Modificacion" los usuarios que lo están usando.
Si lo quieres ver por macro, prueba esta, donde deberás escribir en "c:\datos\compartidos.xls"
, el archivo real a compartir.
La macro te mostrará en una ventana los usuarios que lo están utilizando.
Desde Excel, ALT+F11 para ir a Visual Basic.
"Insertar/Modulo" y copiar allí lo que sigue.
************
************
Sub verificacion_msgbox()
Dim arch As String
Dim usuarios
Dim fila
Dim txt
arch = "c:\datos\compartidos.xls"
Workbooks.Open arch
txt = ""
usuarios = ActiveWorkbook.UserStatus
For fila = 1 To UBound(usuarios, 1)
txt = txt & Chr(10) & usuarios(fila, 1)
txt = txt & " - " & usuarios(fila, 2)
Select Case usuarios(fila, 3)
Case 1
txt = txt & " - " & "Exclusivo"
Case 2
txt = txt & " - " & "Compartido"
End Select
Next
MsgBox txt
End Sub
*****************
*****************
Espero haber sido claro.
Estoy a tu disposición por cualquier aclaración o ampliación.
Suerte.
FJ

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas