Fala Galera Beleza?
Tenho uma planilha no VBA que estou programando senhas para executar, consegui colocar critérios de utilização para as senhas e bloquear as opções de salvar e salvar como, porém fiz isso usando Subs separadas, o que preciso é que o bloqueio das opções de salvamento só ocorra com um usuário específico ou seja com uma condição, que é uma das senhas, segue q Programação abaixo,, se alguém puder me ajudar.
Private Sub Workbook_Open()
ActiveSheet.Unprotect "1234"
Dim senha As String
senha = InputBox("Digite a Senha")
If senha = "1234" Then
'não pergunta se quero salvar ao clicar no x
MsgBox "Você é um usuário padrão!"
Application.EnableCancelKey = xlDisabled
Dim dt As Date
'Escolha a data em a Pasta de Trabalho deverá expirar (ano, mês, dia)
dt = DateSerial(2020, 9, 28)
If Date >= dt Then
MsgBox "Esta Pasta de Trabalho expirou! Favor contatar o administrador."
ThisWorkbook.Close savechanges:=False
End If
ElseIf senha = "12345" Then
MsgBox "Você é um usuário Administrador!"
ThisWorkbook.Activate
Else
MsgBox "Senha Invalida"
ThisWorkbook.Close savechanges:=False
End If
ActiveSheet.Protect "1234"
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ActiveSheet.Unprotect "1234"
If SaveAsUI = True Then
Cancel = True
Application.EnableEvents = False
ThisWorkbook.Save
MsgBox "A Opção 'Salvar Como' está desabilitada!"
Application.EnableEvents = True
End If
ActiveSheet.Protect "1234"
End Sub
'Não permite usar o botão salvar
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
ActiveSheet.Unprotect "1234"
If Saved = True Then
Cancel = True
MsgBox "A opção Salvar está desabilitada"
End If
ActiveSheet.Protect "1234"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Unprotect "1234"
ThisWorkbook.Close savechanges:=False
ActiveSheet.Protect "1234"
End Sub