-> Hier kostenlos registrieren
Hallo Zusammen!
Ich habe ein Script geschrieben, das mir in Excel dokumentieren soll wann und welcher Benutzer sich auf dem HMI angemeldet hat (ähnlich zum Audit Trail). Dabei gibt es einen Scheduled task, der auf den Benutzerwechsel triggert und dann die Events GetUserName und GetGroupNumber startet und diese in die Variablen userName und groupNumber schreibt. Jedoch habe ich noch das Problem, dass nur der aktuell angemeldete Benutzer und Nummer in Excel geloggt wird. Wie müsste ich mein Script verändern, sodass die alten Benutzerlogindaten in der Tabelle bestehen bleiben und neue Daten in neuen Spalten ersichtlich sind? Sprich es soll eine Art Historie der Daten als Tabelle ersichtlich sein. Hinweis: Datum der Änderungen von Benutzerwechseln muss ich noch in das Script einfügen.
Ich habe ein Script geschrieben, das mir in Excel dokumentieren soll wann und welcher Benutzer sich auf dem HMI angemeldet hat (ähnlich zum Audit Trail). Dabei gibt es einen Scheduled task, der auf den Benutzerwechsel triggert und dann die Events GetUserName und GetGroupNumber startet und diese in die Variablen userName und groupNumber schreibt. Jedoch habe ich noch das Problem, dass nur der aktuell angemeldete Benutzer und Nummer in Excel geloggt wird. Wie müsste ich mein Script verändern, sodass die alten Benutzerlogindaten in der Tabelle bestehen bleiben und neue Daten in neuen Spalten ersichtlich sind? Sprich es soll eine Art Historie der Daten als Tabelle ersichtlich sein. Hinweis: Datum der Änderungen von Benutzerwechseln muss ich noch in das Script einfügen.
Code:
Sub UserLogsToExcel()
Dim FolderPath, ObjectPath, Filename, File, FileExist, Columns, Row
FolderPath = "XXX"
Filename = "UserLogs.csv"
Set ObjectPath = CreateObject("Scripting.FilesystemObject")
'Check if folder exists
If Not ObjectPath.FolderExists(FolderPath) Then
ObjectPath.CreateFolder FolderPath
End If
' Check if file exists
Set File = CreateObject("Scripting.FilesystemObject")
FileExist = File.FileExists(FolderPath & "\" & Filename)
If FileExist = False Then
File.CreateTextFile(FolderPath & "\" & Filename)
Set Columns = File.OpenTextFile(FolderPath & "\" & Filename, 8)
Columns.WriteLine("User ; User Group ; Data3")
Columns.Close
Set File = Nothing
End If
'Write data to file
Set File = CreateObject("Scripting.FilesystemObject")
Set Row = File.OpenTextFile(FolderPath & "\" & Filename, 8)
Row.WriteLine(SmartTags("userName") & ";" & SmartTags("groupNumber") & ";" & SmartTags("measurementVal1") & ";")
Row.Close
Set File = Nothing 'Here we are releasing the File.
End Sub