Application On Time, libro compartido, proteger/despro
Hola que tal, espero que estés bien, hace algunas semanas me ayudaste con un código, ahora lo que hice en mi formato de excel fue compartir el libro en red, y quiero que se proteja a las 3:00 pm y a las 8 de la mañana con una tarea programada abro el archivo y a las 8:10 am se desprotege. Pero he leído que no se puede proteger y desproteger en un libro compartido, en otra macro ya le di una solución a eso, descompartir el libro y compartirlo de nuevo al finalizar la macro... Pero no me lo bloquea, solo cuando no esta compartido.. Espero que me puedas ayudar, este es mi código
Sub Auto_Open()
Application.OnTime TimeValue("8:10"), "MacroDesproteger"
Application.OnTime TimeValue("15:00"), "MacroProteger"
End Sub
Sub MacroProteger()
Application.DisplayAlerts = False
'quitarle la condición de compartido
If ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.ExclusiveAccess
End If
Sheets("Requerimiento Célula 1").Protect "Miriam", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Sheets("Requerimiento Célula 2").Protect "Miriam", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Sheets("Requerimiento Célula 3").Protect "Miriam", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Sheets("Requerimeinto Célula 4").Protect "Miriam", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, _
accessMode:=xlShared
Application.DisplayAlerts = True
End Sub
Sub MacroDesproteger()
Application.DisplayAlerts = False
'quitarle la condición de compartido
If ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.ExclusiveAccess
End If
Sheets("Requerimiento Célula 1").Unprotect "Miriam"
Sheets("Requerimiento Célula 2").Unprotect "Miriam"
Sheets("Requerimiento Célula 3").Unprotect "Miriam"
Sheets("Requerimiento Célula 4").Unprotect "Miriam"
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, _
accessMode:=xlShared
Application.DisplayAlerts = True
End Sub
Sub Auto_Open()
Application.OnTime TimeValue("8:10"), "MacroDesproteger"
Application.OnTime TimeValue("15:00"), "MacroProteger"
End Sub
Sub MacroProteger()
Application.DisplayAlerts = False
'quitarle la condición de compartido
If ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.ExclusiveAccess
End If
Sheets("Requerimiento Célula 1").Protect "Miriam", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Sheets("Requerimiento Célula 2").Protect "Miriam", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Sheets("Requerimiento Célula 3").Protect "Miriam", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Sheets("Requerimeinto Célula 4").Protect "Miriam", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, _
accessMode:=xlShared
Application.DisplayAlerts = True
End Sub
Sub MacroDesproteger()
Application.DisplayAlerts = False
'quitarle la condición de compartido
If ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.ExclusiveAccess
End If
Sheets("Requerimiento Célula 1").Unprotect "Miriam"
Sheets("Requerimiento Célula 2").Unprotect "Miriam"
Sheets("Requerimiento Célula 3").Unprotect "Miriam"
Sheets("Requerimiento Célula 4").Unprotect "Miriam"
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, _
accessMode:=xlShared
Application.DisplayAlerts = True
End Sub
1 respuesta
Respuesta de paramisolo
1