Sorry, this entry is only available in Português.
Tag Archives: Login
VBA – Cadastrar Usuário e Senha no Excel
Beleza galera. Vamos terminar nosso aplicativo de login? Vamos colocar as Mãos No Código!
No tutorial anterior, mostrei a vocês, como criar um modo de login e senha. Hoje vamos ver como se cadastra um novo usuário. Para isso, insira um form que vai ser chamado de Menu; dentro deste form, insira um CommandButton e dentro dele este código:
Código do CommandButton1
Cadastrar.show |
Agora você necessita criar outro form com os seguintes campos:
- 02 Labels
- 02 Textboxs
Para os labels, entre com os nomes:
- UserName
- Password
Para os Textbox:
- txtNome
- txtSenha
03 CommandButton
- ComamandButton1 -Salvar
- CommandButton2 -Fechar
- CommandButton3 -Limpar
Agora galera, vamos ao código da nossa aplicação.
Código Completo
'Aqui está o botão fechar Private Sub Fechar_Click() Unload Me End Sub 'Aqui está o botão Limpar Private Sub Limpar_Click() txtNome = "" txtSenha = "" txtNome.SetFocus End Sub 'Aqui está o botão responsável por salvar os dados na Planilha de Login lembram da mesma no topico anterior? Private Sub Salvar_Click() 'Tomada de Decisão Sim e Não Dim Reposta As String Reposta = MsgBox("Deseja Salvar Este Usuário Agora?", vbYesNo, "Novo usuário") If Reposta = vbYes Then 'Nossa pasta renomeada no post anterior e onde gravaremos os novos usuários e senhas totalregistro = Worksheets("Login").UsedRange.Rows.Count + 1 'Campo Obrigatório If txtNome.Text = "" Then MsgBox "Necessito De Um Nome Para Continuar. " txtNome.SetFocus Exit Sub End If With Worksheets("Login") .Cells(totalregistro, 1) = txtNome .Cells(totalregistro, 2) = txtSenha End With 'Mensagem apos a gravação de dados MsgBox ("Gravado Com Sucesso"), vbInformation, ("Novo usuário") txtNome = "" txtSenha = "" txtNome.SetFocus End If 'Resposta Não aqui If Reposta = vbNo Then 'Mensagem caso sua resposta seja não MsgBox ("Seus Dados Não Foram Gravados"), vbInformation, ("Novo usuário") txtNome = "" txtSenha = "" txtNome.SetFocus End If End Sub |
Beleza! Agora é o seguinte.Vamos fazer nossa aplicação aparecer depois que digitamos o usuário e senha e clicamos em Login, a ação tomada será chamar o form de menu. Lembram?
basta que você que copiou o exemplo anterior localize esta linha:
*****"Seu Aplicativo será carregado, substituindo esta linha para a que você necessite que seja carregado em primeiro plano (form1,Menu,Dados...Etc)
Delete a mesma e no lugar da mesma, entre com este código.
***Menu.Show vbmodal |
Agora você já tem em mãos, a Tela de Login, A Tela de Menu e a Tela de Cadastro de Usuário.
Fiquem a vontade para adaptarem as suas necessidades.
Abração e sempre que necessitarem estou sempre aqui com muitas coisas bem legais para mostrar a quem está querendo aprender o VBA.
VBA – Login com Banco de Dados em Excel
Estive vendo que a maioria sempre necessita, ao desenvolver uma aplicação de um sistema de Login onde se
possa cadastrar novos usuários e até mesmo senhas.
Então resolvi deixar pra galera, um pequeno sistema de Login em VBA Excel.
Vamos colocar as Mãos No Código.
- Necessita que você acesse o Excel, seja 2007 ou 2003, …
- Renomei a Plan1 para Login…
- Na Coluna A entre com o Nome de Usuário = ADMIN (este nome Maiusculo, o TextBox já está formatado para faze-lo pra vocês, basta que seja cadastarado em maiusculo dentro da Coluna A da Plan1 que você já renomeou para Login)
- na Coluna B entre com a Senha = admin. (Desta forma descrita aqui) caso contrario você não irá acessar a sua planilha de dados.
- Pressione ALT + F11;
- Insira um Form Novo;
Para este aplicativo você necessitará de 02 textboxs, 02 labels, 02 CommandButton. Nomes para cada item citados acima (acho que ando muito bom pra vocês)
Para os labels
UserName
Password
Nome para os textboxs
TBx_Usuario
TBx_Senha
Para O Botão de Comando OK
CBt_Ok
e para o segundo Botão de Comando (CommandButton2). insira este código dentro dele;
ThisWorkbook.Close SaveChanges:=True |
Onde este comando, salvará e finalizará o seu aplicativo caso alquem tente acessar a mesma sem senha ao clicar em fechar tentando assim, invadir o seu aplicativo.
Galera, agora é o seguinte. Copie o codigo abaixo depois de remonear cada textbox e cada Botão de acordo com sua necessidade, basta clicar duas vezes no form, delete a instrução que aperecer e insira este pequeno código aqui:
Private Sub CommandButton2_Click() ThisWorkbook.Close SaveChanges:=True End Sub Private Sub UserForm_Activate() 'Neste caso você tem a opção de mostrar ou ocultar o excel, basta mudar a instrução TRUE abaixo para False Application.Visible = True TBx_Senha.Enabled = TBx_Usuario.Text <> "" CBt_Ok.Enabled = (TBx_Usuario.Text <> "" And TBx_Senha.Text <> "") End Sub Private Sub CBt_Ok_Click() Dim Linha As Integer On Error GoTo NaoEncontrado Linha = Sheets("Login").Range("A:A").Find(TBx_Usuario).Row If TBx_Senha = Sheets("Login").Cells(Linha, 2) Then MsgBox ("Seja Bem Vindo (a) ") & TBx_Usuario, vbInformation, ("Login - Live Free") Unload Me 'Tela de acesso ao sistema aqui 'Seu Aplicativo será carregado, substituindo esta linha para a que você necessite que seja carregado em primeiro plano (form1,Menu,Dados...Etc) Else MsgBox ("A senha não confere"), vbInformation, ("Login - Live Free") TBx_Senha = "" TBx_Senha.SetFocus End If Exit Sub NaoEncontrado: MsgBox ("Usuário não cadastrado."), vbInformation, ("Login - Live Free") TBx_Usuario = "" TBx_Usuario.SetFocus End Sub Private Sub TBx_Usuario_Change() TBx_Senha.Enabled = TBx_Usuario.Text <> "" CBt_Ok.Enabled = (TBx_Usuario.Text <> "" And TBx_Senha.Text <> "") 'Aqui o código que modifica a letra digitada para a forma maiuscula TBx_Usuario.Value = UCase(TBx_Usuario.Value) End Sub Private Sub TBx_Senha_Change() CBt_Ok.Enabled = (TBx_Usuario.Text <> "" And TBx_Senha.Text <> "") End Sub Private Sub UserForm_Initialize() ' Metodo Invisivel do Excel Application.Visible = False TBx_Usuario.SetFocus End Sub 'Aqui vai algo bem legal de bonus pra todos, iremos desabilitar tambem o Botão de Fechar no alto do Form, travando o mesmo para não ser finalizado. Private Sub UserForm_QueryClose _ (Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then 'Tente finalizar e veja esta mensagem na tela MsgBox "Esta Ação Não É Permitida.Desculpe!", vbInformation, "AVISO - Live Free" Cancel = True End If End Sub Já quase me esquecendo Para que o sistema de login inicie em primeiro lugar, basta ir na opção do lado esquerdo, procure esta instrução: -Esta_Pasta_De_Trabalho De 02 cliques nela e dentro, cole este codigo: Private Sub Workbook_Open() Login.Show End Sub |
Fim do código.
Espero ter ajudado e que todos se sintam a vontade para modificarem o mesmo, conforme suas necessidades.
Para inserir outros usuáros e suas senhas, lhes mostrarem isso em outra oportunidade.
Valeu galera. Até nosso proximo post.