Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Log com as Alterações nas Planilhas v 2003 - v 2007

Dicas dos mais variados tipos, necessidades, angústias, enfim
Celso Silvério
Colaborador
Colaborador
Mensagens: 35
Registrado em: Ter Jun 29, 2010 2:23 pm

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Celso Silvério »

Boa tarde caros colegas!

Não entendo bem de programação, por isso gostaria de uma ajuda de vocês. Como fazer para alterar e fazer aparecer o nome do usuário na TextBox "TxUsuario" do formulário Log, sendo que o nome desse usuário vai estar na Planilha TESTE, Célula "G2" do mesmo arquivo???????

Abraços,


Celso


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Mauro Coutinho »

Viviane escreveu:Caros colegas, não sou programadora mas consegui, por meio das excelentes explicações do Coutinho 'instalar o log na v 2010', muito obrigada. O que eu quero mudar, e peço ajuda de vocês: como esconder ou colocar em outra pasta os arquivos gerados pelo LOG para que ninguem os veja, e consequentemente os delete?
Viviane, primeiramente, para que ninguem saiba onde está o arquivo "log" gerado, é necessário proteger o projeto VBA, se alguem tiver acesso, irá ver o caminho definido na rotina.

Como disse que adaptou na v 2010, e eu não tenho esta versão, fiz o ajuste na v 2007 que acredito ser a que utilizou, e tambem na v2003, se alguem pensar em fazer o mesmo que você, as alterações necessárias estão comentadas nos códigos :

Excel 2007

Código: Selecionar todos

Sub Log(Pos As Integer, NewValue, Ende, Planilha As String)

    Dim Arquivo2 As String
    Dim QtdArq As Integer
    Dim objFSO    As Object
    Dim objFolder As Object
    Dim objFile   As Object
    Dim strPath   As String
    Dim strName   As String
    Dim contador

    'juste o Caminho na linha abaixo
    'strPath = ActiveWorkbook.Path- Atribui o Caminho onde está o arquivo atualmente
    strPath = "C:\SuaPasta" 'Ajustar o Caminho-Atribui o Caminho par o Diretorio  que você definir
    
    contador = 0

    If GlbOLdValue(Pos) = Empty Then
        GlbOLdValue(Pos) = "VAZIO"
    End If

    If NewValue = Empty Then
        NewValue = "VAZIO"
    End If

    If NewValue = GlbOLdValue(Pos) Then
        Exit Sub
    End If

    'Use Microsoft Scripting runtime.
     Set objFSO = CreateObject("Scripting.FileSystemObject")
     Set objFolder = objFSO.GetFolder(strPath)
    
    'Check type of file in the folder and open file.
    For Each objFile In objFolder.Files
        If objFile.Name Like "Log*.txt" Then
           strName = objFile.Name
               contador = contador + 1
        End If
    Next
    QtdArq = contador

    'Arquivo2 = ActiveWorkbook.Path & "\Log" & QtdArq & ".txt"
    'Ajustamos a linha acima alterando "ActiveWorkbook.Path" para a Variavel "strPath"
    Arquivo2 = strPath & "\Log" & QtdArq & ".txt"

    Open Arquivo2 For Append As #1
        Write #1, Encripta(Planilha), Encripta(Ende), Encripta(GlbOLdValue(Pos)), Encripta(NewValue)
    Close #1
    
    GlbOLdValue(Pos) = Empty

    'Cleanup
     Application.ScreenUpdating = True
     Set objFSO = Nothing
     Set objFolder = Nothing
     Set objFile = Nothing
    
End Sub
Excel 2003

Código: Selecionar todos

Sub Log(Pos As Integer, NewValue, Ende, Planilha As String)
    On Error Resume Next
    Dim Arquivo2 As String
    Dim QtdArq As Integer
    Dim FolderName As String
    
        If GlbOLdValue(Pos) = Empty Then
            GlbOLdValue(Pos) = "VAZIO"
        End If
        
        If NewValue = Empty Then
            NewValue = "VAZIO"
        End If
        
        If NewValue = GlbOLdValue(Pos) Then
            Exit Sub
        End If
        
        'Ajuste o Caminho na linha abaixo
        FolderName = "C:\SuaPasta"
        
        With Application.FileSearch
            '.LookIn = ActiveWorkbook.Path
            'troque a linha decima por esta
            .LookIn = FolderName
            .Filename = "Log*.txt"
            .Execute
            QtdArq = .FoundFiles.Count
        End With
    
        'Arquivo2 = ActiveWorkbook.Path & "\Log" & QtdArq & ".txt"
        'Ajustamos a linha acima alterando "ActiveWorkbook.Path" para a Variavel "FolderName"
        Arquivo2 = FolderName & "\Log" & QtdArq & ".txt"
    
        Open Arquivo2 For Append As #1
            Write #1, Encripta(Planilha), Encripta(Ende), Encripta(GlbOLdValue(Pos)), Encripta(NewValue)
        Close #1
        
        GlbOLdValue(Pos) = Empty
End Sub
[]s


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Mauro Coutinho »

Celso Silvério escreveu:Boa tarde caros colegas!

Não entendo bem de programação, por isso gostaria de uma ajuda de vocês. Como fazer para alterar e fazer aparecer o nome do usuário na TextBox "TxUsuario" do formulário Log, sendo que o nome desse usuário vai estar na Planilha TESTE, Célula "G2" do mesmo arquivo???????
Abraços,
Celso
Celso, acho que não entendi o que pretende, uma vez que o nome de usuário que aparece no "TxtUsuario", não é definido diretamente e sim é captado por meio de API do Windows pela "Private Declare Function GetUserName" o nome do usário que está Logado no sistema e armazenado na variável "UserName"pela instrução abaixo :
UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)

Favor dar maiores detalhes do que pretende.

[]s


Celso Silvério
Colaborador
Colaborador
Mensagens: 35
Registrado em: Ter Jun 29, 2010 2:23 pm

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Celso Silvério »

É que estou tentando adaptar a planilha através de senhas com usuários, e gostaria de saber se tem como, ao inserir um nome na Célula "G2" da Planilha TESTE esse nome aparecer na TextBox "TxUsuario" do formulário Log??????

Sds,

Celso


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Mauro Coutinho »

Celso Silvério escreveu:É que estou tentando adaptar a planilha através de senhas com usuários, e gostaria de saber se tem como, ao inserir um nome na Célula "G2" da Planilha TESTE esse nome aparecer na TextBox "TxUsuario" do formulário Log??????
Sds,
Celso
Eu ainda não compreendi direito, mas se quer que apareça no "TxUsuario" o nome que está na Célula "G2" da Planilha TESTE, na rotina "Private Sub UserForm_Initialize()", adicione :

TxUsuario = Worksheets("Teste").Range("G2").Value

[]s


Avatar do usuário
Melo
Colaborador
Colaborador
Mensagens: 70
Registrado em: Ter Jan 12, 2010 4:26 pm

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Melo »

Fala, rapazeada

Muito boa . . .,

Estive observando e surgiu uma dúvida que tentei fazer as adaptações:

1º. Em vez de salvar como Log, salvar com outro nome, eu alterei para Relatório na Linha

Código: Selecionar todos

Arquivo2 = ActiveWorkbook.Path & "\Log" & QtdArq & ".txt"
Funcionou perfeitamente, ok,

2º. Surge a segunda dúvida, como gerar o Relatorio com a data?

Então Fiz:
Dim GerarDataHora As String

GerarDataHora = Format(Now, "dd_mm_yyyy_ hh:mm:ss")

Código: Selecionar todos

Arquivo2 = ActiveWorkbook.Path & "\Log" & QtdArq + GerarDataHora & ".txt"
Não funcionou,

Agora a pergunta aos amigos, como seria para gerar Relatório + a data (EX: Relatorio03_05_20012_16:29:32) + ou - isso
Ainda não consegui adaptar, podem dar uma ajudinha

Desde já agradeço.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por webmaster »

Melo,

Só de olhar, seria porque o Windows não aceita nomes de arquivos com o caracter ":" ?

Abraços


Avatar do usuário
Melo
Colaborador
Colaborador
Mensagens: 70
Registrado em: Ter Jan 12, 2010 4:26 pm

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Melo »

webmaster,

Obrigado, até o momento não consegui adaptar, mas continuo na persistência.


Edudinha
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sáb Out 22, 2011 12:03 pm

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Edudinha »

Caro amigo Mauro, sou novato no excel e primeiramente queria te parabenizar pela sua planilha muito boa, mais tenho uma duvida onde devo alterar para por outro caminho para salvar o arquivo log. para não ficar na mesma pasta da planilha.

Atenciosamente,

Eduardo..


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Log com as Alterações nas Planilhas v 2003 - v 2007

Mensagem por Mauro Coutinho »

Eduardo, se verificar nos posts acima, eu já havia respondido esta questão a Viviane, está bem explicado, mas se ainda tiver alguma duvida estamos ai para ajudar.

[]s


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder