Ir ao conteúdo
  • Cadastre-se

Excel Criar histórico de acessos


Posts recomendados

Bom dia.

Preciso de uma ajuda para registrar na minha planilha de excel um histórico das pessoas que acessaram a planilha na rede.

Eu já utilizo uma dica aqui mesmo do fórum para registrar as modificações. Obtive esse código aqui nesse tópico: https://www.clubedohardware.com.br/forums/topic/868336-identificar-quem-acessou-uma-planilha-no-excel/

 

Isso foi muito útil e agradeço muito os amigos que colaboraram.

Porém, dessa vez preciso complementar esse código com algo mais simples.

Quero apenas saber QUEM acessou a planilha e QUANDO acessou, independente se fez ou não alguma modificação. Só quero saber se o usuário visualizou a informação.

 

Muito obrigado.

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Dá uma olhada no comentário do @osvaldomp em um tópico de 2011:

1. crie uma planilha em branco e a nomeie DedoDuro

2. cole o código abaixo no módulo de EstaPasta_de_trabalho

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim LR As Long
If Sh.Name = "DedoDuro" Then Exit Sub
Application.EnableEvents = False
With Sheets("DedoDuro")
    LR = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A" & LR + 1).Value = Format(Now, "dd-mm-yy hh:mm:ss")
    .Range("B" & LR + 1).Value = Sh.Name
    .Range("C" & LR + 1).Value = Target.Address(False, False)
    .Range("D" & LR + 1).Value = Target.Value
    .Range("E" & LR + 1).Value = Environ("USERNAME")
End With
Application.EnableEvents = True
End Sub

o histórico das alterações será lançado na plan DedoDuro assim :

coluna A - data, hora, min e seg da alteração

coluna B - nome da plan onde ocorreu a alteração

coluna C - endereço da célula alterada

coluna D - novo conteúdo da célula alterada

coluna E - nome do usuário

-

Caso queira acompanhar o tópico, segue: 

 

Link para o comentário
Compartilhar em outros sites

Então @lHenrique_10.

 

Essa dica é exatamente a que eu me referi no posto e que já estou usando. O problema é que nesse código, só registra se o usuário alterar alguma célula e salvar o arquivo.

 

Eu preciso de um código que registre se qualquer usuário abriu o arquivo, mesmo se não efetuar nenhuma alteração ou mesmo se não salvar. Preciso de um feedback de quais usuários visualizaram a planilha.

Link para o comentário
Compartilhar em outros sites

19 minutos atrás, gibbsonx disse:

Eu preciso de um código que registre se qualquer usuário abriu o arquivo, mesmo se não efetuar nenhuma alteração ou mesmo se não salvar.

 

Experimente:

Private Sub Workbook_Open()
 Sheets("DedoDuro").Cells(Rows.Count, 1).End(3)(2) = Environ("USERNAME")
 Sheets("DedoDuro").Cells(Rows.Count, 1).End(3)(1, 2) = Now
 Me.Save
End Sub

obs.

1. se o arquivo for aberto com macros desabilitadas o registro de quem abriu o arquivo não ocorrerá

2. talvez seja conveniente você ocultar a planilha DedoDuro

Link para o comentário
Compartilhar em outros sites

1 hora atrás, osvaldomp disse:

 

Experimente:


Private Sub Workbook_Open()
 Sheets("DedoDuro").Cells(Rows.Count, 1).End(3)(2) = Environ("USERNAME")
 Sheets("DedoDuro").Cells(Rows.Count, 1).End(3)(1, 2) = Now
 Me.Save
End Sub

obs.

1. se o arquivo for aberto com macros desabilitadas o registro de quem abriu o arquivo não ocorrerá

2. talvez seja conveniente você ocultar a planilha DedoDuro

 

Show de bola, @oswaldomp!

Era exatamente o que eu precisava.

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Bom dia.

Venho qui mais uma vez pedir auxílio dos amigos.

 

Preciso incrementar esse Log de Acessos, porém, gostaria que esse Log fosse salvo em um arquivo a parte.

De preferência gostaria que esse arquivo permanecesse fechado em algum diretório da rede onde eu pudesse consultá-lo sempre que desejar ver quem está acessando a pasta e quando.

 

Por que preciso disso?

A pasta que quero monitorar está num diretório Somente Leitura. Se eu deixar o Log de Acessos na mesma pasta, os registros não serão salvos quando o arquivo for aberto pois os usuários não têm acesso de gravação.

 

Desde já muito obrigado.

Link para o comentário
Compartilhar em outros sites

1. cole o código abaixo no módulo de EstaPasta do arquivo que você deseja monitorar.

Private Sub Workbook_Open()
 Dim wb As Workbook
  Application.ScreenUpdating = False
   Set wb = Workbooks.Open("G:\PastaSecreta\ArqSecreto.xlsm")
    wb.Windows(1).Visible = False
     With wb
      .Sheets("Plan1").Cells(Rows.Count, 1).End(3)(2) = Environ("USERNAME")
      .Sheets("Plan1").Cells(Rows.Count, 1).End(3)(1, 2) = Now
      .Close savechanges:=True
     End With
  Application.ScreenUpdating = True
End Sub

 

2. em um arquivo vazio mantenha somente a Plan1 e exclua as demais, se houver

3. em alguma máquina da rede salve esse arquivo com o nome de ArqSecreto (altere se preferir, e aí altere no código acima e também no código abaixo) e com extensão .xlsm (como pasta habilitada para macro). Altere no código acima e também no código abaixo o caminho ~~~> G:\PastaSecreta\

Feito isso, a cada vez que o arquivo monitorado for aberto o código acima lançará no ArqSecreto o nome do usuário,  a data/hora e o salvará.

4. para abrir o ArqSecreto com o fim de efetuar consultas/alterações, utilize o código abaixo instalado em qualquer arquivo (exceto no ArqSecreto, claro)

Sub AbreArqSecreto()
 Dim wb As Workbook
 Set wb = Workbooks.Open("G:\PastaSecreta\ArqSecreto.xlsm")
 wb.Windows(1).Visible = True
End Sub

obs.

no caso de você abrir o ArqSecreto para consultas/alterações e, enquanto ele estiver aberto, outro usuário abrir o arquivo monitorado, talvez isso gere algum erro no primeiro código acima, é conveniente testar.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...