Bom dia!
Criei uma macro para proteger todas as planilhas e uma para desproteger... até ai tudo bem!
a de proteger, ao ser acionada, abre um inputbox pedindo uma senha para proteger as planilhas
e a de desproteger abre outro inputbox pedindo a senha para desbloquear..
Gostaria de bloquear o acesso dos usuários à macro de proteção e liberá-lo somente ao chefe do departamento (se possível, fazer isso por meio de botões.. caso não seja possível, tudo bem)!
O problema é que não tive nenhuma ideia mirabolante para tal feito.
___________________________________
Pensei nas seguintes soluções:
1- Esconder o atalho da macro que bloqueia todas as planilhas, (mas ainda sim, se o usuário pressionar CTRL + SHIFT + A, ele vai receber uma mensagem pedindo para inserir a senha para bloquear a planilha.)
2 - Restringir o acesso de acordo com o usuário do computador (não sei se é possível)
3 - Colocar uma senha no botão para ser clicável somente pela pessoa que souber tal senha.
4 - Pedir ajuda no planilhando
Agradeço desde já a quem puder me ajudar!!
Aqui estão os códigos, caso isso ajude!
Sub ProtectAll()
Dim S As Object
Dim pWord1 As String, pWord2 As String
pWord1 = InputBox("Por favor insira sua senha.")
If pWord1 = "" Then Exit Sub
pWord2 = InputBox("Repita a senha.")
If pWord2 = "" Then Exit Sub
''verifica se as senhas são iguais
If InStr(1, pWord2, pWord1, 0) = 0 Or _
InStr(1, pWord1, pWord2, 0) = 0 Then
MsgBox "As senhas são diferentes! Tente novamente."
Exit Sub
End If
For Each ws In Worksheets
ws.Protect Password:=pWord1, DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
Next
MsgBox "Todas as abas estão protegidas."
Exit Sub
End Sub
Sub UnProtectAll()
Dim S As Object
Dim pWord3 As String
pWord3 = InputBox("Por favor insira sua senha.")
If pWord3 = "" Then Exit Sub
For Each ws In Worksheets
On Error GoTo errorTrap1
ws.Unprotect Password:=pWord3
Next
MsgBox "Todas as abas estão desprotegidas."
Exit Sub
errorTrap1:
MsgBox "Senha incorreta!"
Exit Sub
End Sub
Muito obrigado!
Postado : 02/12/2013 7:02 am