Página 3 de 4
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Qui Mar 01, 2012 6:09 pm
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
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Qui Mar 01, 2012 8:29 pm
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
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Qui Mar 01, 2012 8:38 pm
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
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Qui Mar 01, 2012 9:37 pm
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
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Qui Mar 01, 2012 10:26 pm
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
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Qui Mai 03, 2012 4:30 pm
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.
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Ter Mai 08, 2012 3:19 pm
por webmaster
Melo,
Só de olhar, seria porque o Windows não aceita nomes de arquivos com o caracter ":" ?
Abraços
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Qua Mai 09, 2012 9:33 pm
por Melo
webmaster,
Obrigado, até o momento não consegui adaptar, mas continuo na persistência.
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Qui Out 25, 2012 10:19 pm
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..
Re: Log com as Alterações nas Planilhas v 2003 - v 2007
Enviado: Sex Out 26, 2012 9:00 pm
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