Excel VBA

Aprenda a criar log em Excel VBA

Aprenda a criar log em Excel VBA. Neste artigo vamos aprender a criar log em nossas planilhas e projetos de um jeito fácil e simples.

Podemos incorporar estes comados em nossos formulários desenvolvidos em VBA ou em nossas planilhas.

Vamos supor que você tem um funcionário que usa uma planilha desenvolvida por você e gostaria de saber o horário que está planilha foi aberta este comando grava o horário que foi aberta a planilha, dia, nome computador, usuário logado.

Mas para que o seu funcionário não fique sabendo que você está monitorando podemos ocultar a planilha de log e só você abrir quando precisar.

Agora veremos como implantar log em nossas planilhas e projetos.

Vamos as passos.

Aprenda a criar log em Excel VBA. neste exemplo vou usar uma tela de login que criamos em um artigo neste blog e vamos incorporar a programação neste projeto. Para que ao clicar em abrir a tela de login o log fique gravado no projeto.

Link para baixar a planilha para estudo de caso neste artigo.

Bom agora que você já tem o seu projeto vamos dar continuidade na programação.

Abrir o projeto e vamos até o ambiente VBA.

Clique no Form Tela Login e vamos até o botão entrar.

Dentro do botão entrar vamos inserir o código fonte abaixo onde acrescentamos os comando do log.

Call nome_maquina
If Me.txt_user = “” Then
MsgBox “Preencha o campo Usuário”, vbExclamation, “Erro Login”
Me.txt_user.SetFocus
Exit Sub
ElseIf Me.txt_senha = “” Then
MsgBox “Preencha o campo senha”, vbExclamation, “Erro Login”
Me.txt_senha.SetFocus
Exit Sub
End If
Dim senha As String
Set plan = Sheets(“Users”)
Set plan_log = Sheets(“Log”)
USER = txt_user
plan.Select
‘Localiza um registro
linha = plan.Range(“B:B”).Find(USER).Row
senha = plan.Cells(linha, 3)
nome = plan.Cells(linha, 6)
If senha = Me.txt_senha Then
id_log = plan_log.Range(“A” & Rows.Count).End(xlUp).Row
plan_log.Cells(id_log + 1, 1) = id_log
plan_log.Cells(id_log + 1, 2) = Format(Now, “MM/DD/YYYY”)
plan_log.Cells(id_log + 1, 3) = Format(Now, “HH:MM:SS”)
plan_log.Cells(id_log + 1, 4) = “Logado”
plan_log.Cells(id_log + 1, 5) = nome
plan_log.Cells(id_log + 1, 6) = nome_computador
plan_log.Cells(id_log + 1, 7) = nome_user_maquina
Unload Me
Sheets(“Users”).Select
End If
Exit Sub

Agora precisamos criar um modulo para a função global onde iremos chamar ela no botão entrar.

Option Explicit
‘Criação das variáveis globais para utilização em todos os módulos
Global nome_computador As String
Global nome_user_maquina As String
Global sessao As Long
Sub nome_maquina()
nome_computador = Environ(“Computername”)
nome_user_maquina = Environ(“USERNAME”)
End Sub

Pronto agora está funcionado nosso Log.

Comando utilizado para planilhas simples sem formulários colocar os fonte abaixo no evento Workbook_Open.

Call nome_maquina
Set plan_log = Sheets(“Log”)
‘torna a guia Log visível para o código
‘plan_log.Visible = xlSheetVisible
‘plan_log.Visible = xlSheetVeryHidden
id_log = plan_log.Range(“A” & Rows.Count).End(xlUp).Row
plan_log.Cells(id_log + 1, 1) = id_log
plan_log.Cells(id_log + 1, 2) = Format(Now, “MM/DD/YYYY”)
plan_log.Cells(id_log + 1, 3) = Format(Now, “HH:MM:SS”)
plan_log.Cells(id_log + 1, 4) = “Logado”
plan_log.Cells(id_log + 1, 5) = nome_computador
plan_log.Cells(id_log + 1, 6) = nome_user_maquina
plan_log.Cells(id_log + 1, 7) = nome_user_maquina
Sheets(“Log”).Select
Exit Sub
End Sub

Download

Olá, amigos! Inscreva-se em nosso canal do Youtube para não perder os próximos vídeos.

admin

Dicas do Excel.

View Comments

  • se o log precisar ser em uma planilha abaixo, tentei porem deu erro, meu log nao pode ficar na mesma planilha.

    • por exemplo

      Set plan_log = Workbooks.Open("\\fs.e.com.br\Ca\Opera\urier\Controles\log.xlsx", _
      Password:="xxxx")
      Worksheets("log").Activate

      Range("A" & Rows.Count).End(xlUp).Row

      plan_log.Cells(id_log + 1, 1) = id_log
      plan_log.Cells(id_log + 1, 2) = Format(Now, "MM/DD/YYYY")
      plan_log.Cells(id_log + 1, 3) = Format(Now, "HH:MM:SS")
      plan_log.Cells(id_log + 1, 5) = nome_computador
      plan_log.Cells(id_log + 1, 6) = nome_user_maquina

      ta dando erro no evento

Share
Published by
admin

Recent Posts

12 Truques do Excel

12 Truques do Excel, listamos abaixo truques incríveis no Excel, que vai ajudar na sua…

2 semanas ago

Função procurar no Excel

Função procurar no Excel é uma função de texto que permite localizar a posição de…

2 meses ago

Função soma no Excel

Função soma no Excel é uma das mais utilizadas por profissionais, estudantes e entusiastas que…

4 meses ago

Gráfico de mapas no Excel

Gráfico de mapas no Excel, veja que interessante está ferramenta onde mostra a população por…

7 meses ago

Calendário anual no Excel

Calendário anual no Excel, desenvolvido com as funções do Excel e muito útil para planejamento…

7 meses ago

Formatação condicional no Excel na linha inteira

Formatação condicional no Excel na linha inteira, veja que interessante está formatação no Excel, conforme…

8 meses ago