Como criar um login de acessos na planilha – Planilha de login grátis
Como criar um login de acessos na planilha utilizando o usuário do login do Windows.
Com esta técnica é possível permitir ou não o acesso a pasta de trabalho, ou bloquear o acesso as planilhas da pasta de trabalho, conforme a função que o usuário está cadastrado.
A solução abaixo foi criada para realizar o controle de projetos, com a criação de projetos, atividades e apontamentos, além do seu controle na própria ferramenta.
O controle era feito através do login do Windows. O usuário ao abrir a planilha era identificado, e conforme a sua permissão eram liberados os acessos para ele enxergar somente os seus apontamentos e permissão de atualizá-los, ou no caso do gerente, acessar todos os dados.
No exemplo deste artigo, nós iremos utilizar algumas destas planilhas e realizar a permissão de acesso e bloqueio como feito no projeto acima.
Primeiro vamos habilitar a guia desenvolvedor, caso você não a tenha habilitada, pois iremos usar o VBA do Excel.
Como Habilitar guia Desenvolvedor no Excel 2007 e versões anteriores
- Clique em Arquivo->Opções, ou no símbolo do Office, conforme a sua versão do Excel.
- Clique em Opções e na aba Geral marque a opção Mostrar guia desenvolvedor na Faixa de Opções.
Habilitar guia Desenvolvedor no Excel 2010 e superiores
- Clique em Arquivo->Opções.
- Clique em Opções e na aba Personalizar Faixa de Opções marque a opção Mostrar guia desenvolvedor na Faixa de Opções.
A primeira etapa está resolvida. Agora vamos aprender como copiar procedimentos da internet e como colocar somente em uma pasta de trabalho e também como colocar habilitar sempre que o Excel for aberto.
Estrutura da planilha com login
No nosso exemplo estamos usando a seguinte estrutura:
Planilha de acesso
Esta planilha é a que utilizaremos para bloquear ou dar acesso à planilhas da pasta de trabalho.
O ponto de maior interesse nesta tabela são as colunas Nome rede e Função, sendo as outras meramente informativas.
A coluna Nome rede possui o login do usuário Windows do usuário que utilizará a planilha e a coluna Função se liga a permissão que ele terá na pasta de trabalho, sendo:
- Gerente: Acesso as planilhas Acesso, Projeto e Atividades
- Usuário: Acesso as planilhas Projeto e Atividades
Esta é a principal planilha do projeto e que pode ser utilizada nas suas pastas de trabalho também, basta seguir o mesmo padrão.
Planilha projetos
A planilha aonde são lançados os projetos da empresa.
Planilha atividades
Nesta planilha são encontradas as atividades ligadas a cada projeto.
Lembrando que esta estrutura que temos das planilhas Projetos e Atividades é meramente ilustrativa, usaremos elas apenas para a questão dos acessos.
Criar o login de acesso pelo usuário do Windows no Excel
Agora com tudo pronto, vamos colocar o código fonte da planilha. Para isso siga os seguinte passos.
- Pressione as teclas ALT+F11 para acessar o VBE (Visual Basic Editor), ou clique na guia Desenvolvedor e no botão Visual Basic
- No VBE clique em Inserir->Módulo
- Clique sobre o módulo e altere a propriedade Name para Acesso
- No módulo criado, cole o seguinte código VBA
Public lUsuarioLogado As String Public lFuncao As String Function UsuarioRede() As String Dim GetUserN Dim ObjNetwork Set ObjNetwork = CreateObject("WScript.Network") GetUserN = ObjNetwork.UserName UsuarioRede = GetUserN End Function Public Sub lsValidarAcesso() On Error GoTo TratarErro Dim lNome As String lFuncao = WorksheetFunction.VLookup(lUsuarioLogado, ListaAcesso.Range("D:E"), 2, 0) lNome = WorksheetFunction.Index(ListaAcesso.Range("B:B"), WorksheetFunction.Match(lUsuarioLogado, ListaAcesso.Range("D:D"), 0)) If lFuncao = "Gerente" Then Atividades.Unprotect Password:="123" Projetos.Unprotect Password:="123" ListaAcesso.Unprotect Password:="123" Else Atividades.Unprotect Password:="123" Projetos.Unprotect Password:="123" End If Sair: Exit Sub TratarErro: MsgBox "Usuário não cadastrado!" + vbCrLf + "Fale com um gerente do sistema para solicitar." GoTo Sair End Sub Public Sub lsBloquearAcesso() Atividades.Unprotect Password:="123" Projetos.Unprotect Password:="123" ListaAcesso.Unprotect Password:="123" Atividades.Range("B3:J1048576").Locked = True Projetos.Range("B3:E1048576").Locked = True ListaAcesso.Range("B3:F1048576").Locked = True Atividades.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFiltering:=True, Password:="123" Projetos.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFiltering:=True, Password:="123" ListaAcesso.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFiltering:=True, Password:="123" End Sub
No código acima temos as funções e procedimentos:
UsuarioRede: Retorna qual o usuário logado na rede do windows no VBA do Excel.
lsValidarAcesso: Identifica se o usuário Windows está cadastrado na planilha Acesso e retorna a função, dando a permissão para as planilhas de acordo.
lsBloquearAcesso: Bloqueia todos os acessos da planilha, voltando ao estado inicial que temos ao abrir a planilha sem nenhum acesso.
Utilizando o login no Excel
Agora já temos a estrutura pronta para utilizar o login, temos a planilha de acessos e também o fonte VBA que permite fazer o controle do login pelo user Windows no VBA Excel.
Agora basta chamar o código ao abrir a planilha.
- Ainda no VBE clique em EstaPastaDeTrabalho
- Cole o seguinte código
Private Sub Workbook_Open() Dim lWorksheet As Worksheet lsBloquearAcesso lUsuarioLogado = Acesso.UsuarioRede lsValidarAcesso End Sub
No código acima temos a chamada do evento Workbook_Open, ou seja, ao abrir a pasta de trabalho, faça este código.
Então é chamado o procedimento lsBloquearAcesso, que bloqueia toda a planilha conforme temos se não tivermos um usuário autorizado a editá-la.
Em seguida é chamada a função Acesso.UsuarioRede pela qual é retornado o usuário logado na rede Windows.
Por fim é executado o procedimento lsValidarAcesso que verifica o acesso do usuário e realiza ou não o desbloqueio das planilhas da pasta de trabalho.
Download da planilha com login de acessos Excel
Baixe a planilhaAbraço
Marcos Rieper
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo: