Notifications
Clear all

Macro para salvar log quando abre o Visual Basic?

4 Posts
2 Usuários
0 Reactions
1,031 Visualizações
willianrc
(@willianrc)
Posts: 0
Trusted Member
Topic starter
 

Ola galerinha,
Alguém sabe algum código para salvar um log.txt caso algum intruso abra o Visual Basic e modifique algum código?

Obs.: Aqui no serviço não podemos colocar senha no projeto.
Offices 2003 ate 2016

Ate o momento tenho esse código:

Private Sub Workbook_Open()
    Dim strFile_Path As String
    strFile_Path = "log file.txt" '"C:UsersHPDesktoplog file.txt"
    Open strFile_Path For Append As #1
    Write #1, Now() & " : " & " opened " & wrtstring
    Close #1
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim strFile_Path As String
    strFile_Path = "log file.txt" '"C:UsersHPDesktoplog file.txt"
    Open strFile_Path For Append As #1
    Write #1, Now() & " : " & " closed " & wrtstring
    Close #1
End Sub
 
Postado : 29/03/2018 3:34 pm
willianrc
(@willianrc)
Posts: 0
Trusted Member
Topic starter
 

up

 
Postado : 01/04/2018 5:37 am
(@skulden)
Posts: 170
Estimable Member
 

Primeiro vá nas referências e instale a ref Microsoft Visual Basic for Applications Extensibility 5.3

O código abaixo é a essência do log, o resto você pode manipular ou deixar assim mesmo, coloque-o dentro da rotina de abertura da planilha


Public Sub WriteLog()

Dim mypath As String
Dim VBComp As VBIDE.VBComponent

mypath = "INSIRA AQUI SEU DIRETÓRIO"

    For Each VBComp In ActiveWorkbook.VBProject.VBComponents
            
            If VBComp.Type = vbext_ct_StdModule Then
            
                VBComp.Export mypath & VBComp.Name & ".txt"
                
            End If
            
    Next VBComp
            
End Sub


Se a resposta lhe foi útil, clique no joinha!

 
Postado : 02/04/2018 9:00 am
(@skulden)
Posts: 170
Estimable Member
 

Primeiro vá nas referências e instale a ref Microsoft Visual Basic for Applications Extensibility 5.3

O código abaixo é a essência do log, o resto você pode manipular ou deixar assim mesmo, coloque-o dentro da rotina de abertura da planilha


Public Sub WriteLog()

Dim mypath As String
Dim VBComp As VBIDE.VBComponent

mypath = "INSIRA AQUI SEU DIRETÓRIO"

    For Each VBComp In ActiveWorkbook.VBProject.VBComponents
            
            If VBComp.Type = vbext_ct_StdModule Then
            
                VBComp.Export mypath & VBComp.Name & ".txt"
                
            End If
            
    Next VBComp
            
End Sub


Se a resposta lhe foi útil, clique no joinha!

 
Postado : 02/04/2018 9:00 am