Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1320to1324
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mit VBA Event Viewer auslesen

Mit VBA Event Viewer auslesen
11.07.2013 16:57:26
Nette13
Hallo zusammen,
hat jemand von Euch schon einmal versucht, über vba den event viewer auszulesen. Ich möchte gern in einer Excel Datei, das Datum und die Uhrzeit für das Windows logon und log off an meinem Rechner haben. Daraus möchte ich eine Zeiterfassung generieren.
Beim event viewer habe ich gar keine Ahnung. Hat jemand von Euch eine Idee?
Hilfreiche Tips sind jederzeit willkommen.
Lieben Gruß & danke vorab
Annette

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit VBA Event Viewer auslesen
11.07.2013 19:06:10
Oberschlumpf
Hi Annette
Was spricht gegen diese Lösung (so mache ich es auf der Arbeit):
1. Meine in Excel erstellte Arbeitszeitnachweis-Datei befindet sich im Autostart.
2. Jedes Mal, wenn ich mich anmelde, wird die Datei geöffnet und per VBA-Code wird die in dem Moment aktuelle Uhrzeit in die richtige Zelle eingetragen.
3. Die Datei bleibt bis zum Feierabend geöffnet.
4. Bevor ich mich zum Feierabénd wieder abmelde, wird die Excel-Datei als letzte geschlossen.
5. Im BeforeClose-Ereignis steht wieder VBA-Code, der nun die Feierabendzeit in die richtige Zelle einträgt.
PC is aus, die Zeiten wurden automatisch eingetragen, ich geh nach Haus :-)
Wenn ich, warum auch immer, während der Arbeitszeit die Excel-Datei schließen muss, wird dank des Codes im BeforeClose immer jeweils die aktuelle Uhrzeit für Feierabend eingetragen.
Und wenn ich die Datei wieder öffne, wird die Startzeit NICHT überschrieben, da die Startzeit nur dann eingetragen wird, wenn die entsprechende Zelle noch leer ist.
Hilft diese Idee vllt weiter, oder muss es noch immer der Event-Viewer sein?
Ciao
Thorsten

Anzeige
AW: Mit VBA Event Viewer auslesen
12.07.2013 10:25:04
bst
Auch Hallo,
einfach mal den freundlichen https://duckduckgo.com/ an werfen und nach VBA EventLog suchen hilft ;-)
"Select * from Win32_NTLogEvent Where Logfile = 'System'"
liefert alle Einträge aus dem Eventlog System.
"Der Ereignisprotokolldienst wurde gestartet" hat den EventCode 6005, "Der Ereignisprotokolldienst wurde beendet" har den EventCode 6006.
Nimm (falls Du bei denen bleiben willst) etwas wie:
"Select * from Win32_NTLogEvent Where Logfile = 'System' And (EventCode = 6005 Or EventCode = 6006)"
Datum und Uhrzeit musst Du noch selber auseinander wursteln.
Siehe:
http://computer.wer-weiss-was.de/visual-basic/event_viewer_system_auslesen-6566153.html
http://support.microsoft.com/kb/970904
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394226(v=vs.85).aspx
HTH, Bernd
--
Option Explicit
' Logfile: System, Application, Security
Sub x()
Dim objWMI As Object
Dim strComputer As String
Dim colLoggedEvents As Object
Dim objItem As Object
strComputer = "."
Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Security)}!\\" &  _
strComputer & "\root\cimv2")
Set colLoggedEvents = objWMI.ExecQuery("Select * from Win32_NTLogEvent Where Logfile = ' _
System' And (EventCode = 6005 Or EventCode = 6006)")
For Each objItem In colLoggedEvents
Debug.Print objItem.EventCode, objItem.Message, objItem.TimeGenerated
Next
Set objWMI = Nothing
End Sub

Anzeige

18 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige