Lobanovski
Gebruiker
- Lid geworden
- 6 apr 2011
- Berichten
- 15
Voor een registratie en rapportage bestand in excel wil ik graag de logginggegevens naar een .txt file schrijven
Het gaat er dan om welke user er op een bepaalde dstum en tijd een wijziging in het bestand heeft aangebracht.
Ik heb onderstaande macro hiervoor gebruikt en deze werkt goed, behalve dat de oude waarde van de cel niet terugkomt in .txt file:
Dim OudeWaarde
Private Sub Workbook_Open()
Loginformation "opened by " & Application.UserName & " " & Format(Now, "dd/mm/yyyy hh:mm")
OudeWaarde = ActiveCell.Value
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim filenum
Dim i
Dim fic
If Target.Value <> previousvalue Then
Application.EnableEvents = False
filenum = FreeFile
logfile = "C:\Logginggegevens\abc.log"
Open logfile For Append As filenum
Print #filenum, Environ("UserName") & Chr(13) & " " & Format(Now, "dd/mm/yyyy hh:mm:ss ") & " changed cell " & ActiveSheet.Name & Target.Address & " from " & OudeWaarde & " To " & Target.Value
Close filenum
Application.EnableEvents = True
End If
End Sub
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
OudeWaarde = Target.Value
End Sub
In de logfile krijg in onderstaande tekst:
User1 20-06-2012 21:38:52 changed cell Registratie$B$5474 from To Anneke
Ik krijg de waarde die de cel had voordat ik wijzigde in Annke dus niet te zien. Dit is wle de bedoeling.
Zouden jullie mij kunnen helpen om de code aan te passen?
Alvast bedankt!
Het gaat er dan om welke user er op een bepaalde dstum en tijd een wijziging in het bestand heeft aangebracht.
Ik heb onderstaande macro hiervoor gebruikt en deze werkt goed, behalve dat de oude waarde van de cel niet terugkomt in .txt file:
Dim OudeWaarde
Private Sub Workbook_Open()
Loginformation "opened by " & Application.UserName & " " & Format(Now, "dd/mm/yyyy hh:mm")
OudeWaarde = ActiveCell.Value
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim filenum
Dim i
Dim fic
If Target.Value <> previousvalue Then
Application.EnableEvents = False
filenum = FreeFile
logfile = "C:\Logginggegevens\abc.log"
Open logfile For Append As filenum
Print #filenum, Environ("UserName") & Chr(13) & " " & Format(Now, "dd/mm/yyyy hh:mm:ss ") & " changed cell " & ActiveSheet.Name & Target.Address & " from " & OudeWaarde & " To " & Target.Value
Close filenum
Application.EnableEvents = True
End If
End Sub
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
OudeWaarde = Target.Value
End Sub
In de logfile krijg in onderstaande tekst:
User1 20-06-2012 21:38:52 changed cell Registratie$B$5474 from To Anneke
Ik krijg de waarde die de cel had voordat ik wijzigde in Annke dus niet te zien. Dit is wle de bedoeling.
Zouden jullie mij kunnen helpen om de code aan te passen?
Alvast bedankt!