VBA Excel - Arquivos de Log - Log Files

Então, os arquivos de logs são úteis para os mais diversos propósitos.

  • Como posso registrar todos usuários que acessam as minhas planilhas, guardando o nome e horário em um arquivo texto num servidor?
Function LogInfo (LogMessage As String)
    Const LogFileName As String = "
C:\Bernardes\wbLog.log"
    Dim FileNum As Integer
  
    Let FileNum = FreeFile                                      ' Próximo número do Arquivo.
  
    Open LogFileName For Append As #FileNum    ' Cria o arquivo se ele não existir.

    Print #FileNum, LogMessage                              ' Se o arquivo existir grava a informação do final deste.

    Close #FileNum                                                  ' Fecha o arquivo.
End Function

Podemos efetuar chamadas a essa função assim que abrirmos a planilha.

Private Sub Workbook_Open()
    Call LogInfo (ThisWorkbook.Name & " opened by " & Application.UserName & " " & Format(Date, "yyyy-mm-dd hh:mm"))
End Sub

Arquivos criados como Log podem ser lidos por quaisquer aplicativos capacitados para ler arquivos texto. Por exemplo: Notepad, TextPad, Write, Word e Excel.

Também é possível lermos o conteúdo dos arquivos de log com o VBA, abaixo segue um exemplo:

Function DisplayLastLogInfo()
    Const LogFileName As String = "C:\Bernardes\wbLog.log"

    Dim FileNum As Integer, tLine As String

    Let FileNum = FreeFile
    
    Open LogFileName For Input Access Read Shared As #f ' Abre o arquivo para leitura.
    
    Do While Not EOF(FileNum)
        Line Input #FileNum, tLine ' Lê a linha do arquivo.
    Loop 
    
    Close #FileNum
    
    MsgBox tLine, vbInformation, "Última informação do Log:"
End Function

Sub DelLogF (FullFileName As String)
    On Error Resume Next ' ignora possíveis erros
    
     Kill FullFileName 
    
     On Error Goto 0 
End Sub

DelLogF "C:\Bernardes\wbLog.log"

Tags: Bernardes, MS, Microsoft, Office, Excel, log, auditory, txt, Notepad, TextPad, Write, Word

André Luiz Bernardes
A&A® - Work smart, not hard in any place.
bernardess@gmail.com
Skype: inanyplace


Nenhum comentário:

Postar um comentário

diHITT - Notícias