viewpoint
Goto Top

Username (von Windows) bei Zugriff auf eine bestimmte Datei mitloggen

Hallo!

Besteht die Möglichkeit, den Usernamen vom Windowskonto bei einem Zugriff auf eine bestimmte Excel Datei mit Datum und Uhrzeit zu protokollieren?
Vielleicht gibt es eine rasche VBA Lösung für das?

Danke

Content-Key: 64732

Url: https://administrator.de/contentid/64732

Printed on: April 23, 2024 at 09:04 o'clock

Member: DerSchorsch
DerSchorsch Jul 26, 2007 at 07:58:12 (UTC)
Goto Top
Hallo,

Windows kann selbst eine Überwachung von Dateien durchführen. Die Ereignisse landen dann im Ereignisprotokoll-> Sicherheitsprotokoll.
Ich würde diesen Ansatz wählen, da er das normale Arbeiten nicht stört und dann eher nach einem Tool suchen, mit dem das Ereignisprotokoll besser ausgewertet werden kann.

Wie die Überwachung aktiviert wird, hängt von der Windows-Version ab. Grundsätzlich muss man in der Systemrichtlinie das ganze erstmal aktivieren und dann am jeweiligen Objekt (Verzeichnis oder Datei) die Überwachung einschalten.

Gruß,
Schorsch
Member: viewpoint
viewpoint Jul 26, 2007 at 09:16:26 (UTC)
Goto Top
Hallo!

Es geht hier um eine Liste die von mehreren Leuten bearbeitet wird.

Ich wollte lediglich rechts am Ende der letzten Zelle automatisch die Uhrzeit, das Datum und das Kürzel des Mitarbeiters stehen haben, der diese Zeile eingetragen hat.

Hierzu wäre es zu aufwändig mit dem Windows Ereignisprotokoll zu arbeiten.
Member: bastla
bastla Jul 26, 2007 at 13:46:11 (UTC)
Goto Top
Hallo viewpoint!

Dann soll das eher sowas werden:
Private Sub Worksheet_Change(ByVal Target As Range)
Const Sp = "H" 'Spalte für Timestamp  
Dim R As Integer, strUser As String
R = Target.Row
If R >= 3 Then 'erst ab Zeile 3  
    strUser = CreateObject("WScript.Network").UserName  

    Cells(Target.Row, Sp).Value = strUser & _
    "_" & _  
    Format(Now, "YYYY-MM-DD") & _  
    "_" & _  
    Format(Now, "HH:MM:SS")  
End If
End Sub
Öffne per Rechtsklick auf das Tabellenregister und Auswahl von "Code anzeigen" das Codefenster für die jeweilige Tabelle und füge den Code dort ein, lege die gewünschte Spalte für das Eintragen des Timestamps fest und korrigiere bei Bedarf die Zeile, ab welcher Änderungen (also zB auch das Löschen eines Zellinhaltes) protokolliert werden sollen.

Grüße
bastla