Macro para no abrir excel en modo lectura

Tengo varios archivos excel que tienen una macro para registrar el uso que una lista de usuarios realiza en el archivo (registra si el usuario sólo consulta o si ingresa datos y qué datos ingresa)

Me complica cuando un segundo usuario abre el archivo y excel, por defecto, le da la opción de abrir el archivo en modo "solo lectura". El segundo usuario ingresa sus credenciales y se genera el conflicto de que la macro no puede ir registrando la actividad porque el archivo es solo lectura.

¿Hay algo que permita que el archivo no abra sólo lectura? ¿O programar que si el archivo está abriendo sólo lectura avise al usuario que otra persona lo está ocupando y después se cierre?

1 respuesta

Respuesta
1

Revisa lo siguiente:

Sub Abrir_Archivo()
  Dim arch As String
  Dim estado As Boolean
  '
  arch = "c:\trabajo\diario de consulta.xlsx"
  '
  On Error Resume Next
  Open arch For Binary Access Read Write Lock Read Write As #1
  Close #1
  estado = Err.Number
  Err.Clear
  On Error GoTo 0
  '
  If estado = True Then
    MsgBox "El archivo de excel está en uso." & vbCr & "Intente más tarde.", vbExclamation
  Else
    Workbooks.Open arch
  End If
End Sub

¡Gracias! Dante. Mi conflicto lo tenía porque tengo la macro Workbook.Open y la BeforeClose con instrucciones. No alcancé a probar tu propuesta, porque logré resolverlo de otra forma.

Grac ias por comentar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas