In Computern ist eine Protokolldatei eine Datei, die entweder Ereignisse aufzeichnet, die in einem Betriebssystem oder einer anderen Software ausgeführt werden, oder Nachrichten zwischen verschiedenen Benutzern einer Kommunikationssoftware. Bei der Protokollierung wird ein Protokoll geführt. Im einfachsten Fall werden Nachrichten in eine einzelne Protokolldatei geschrieben.

Betrachten Sie ein Szenario, protokolliert die Anwendung die Benutzerdetails in der Protokolldatei, die auf die Anwendung zugreifen.

Log-Dateien sind in verschiedenen Situationen nützlich, insbesondere für Entwickler. Protokolldateien sind Nur-Text-Dateien, in denen Informationen temporär oder dauerhafter gespeichert werden können. Sie benötigen nicht viel Code, um eine Protokolldatei zu erstellen. In diesem Artikel konzentrieren wir uns auf das Erstellen automatischer Protokolldateien in einem bestimmten Ordner.

===

Frage: Wie kann ich eine Notizblockdatei erstellen, die das aktuelle Datum, die Uhrzeit und den Benutzernamen enthält, wenn die Datei geöffnet wird?

Im Folgenden finden Sie eine Momentaufnahme der Excel-Arbeitsmappe mit Finanzinformationen:

image 1

In diesem Beispiel liegt das Ergebnis in Form einer Textdatei vor. Der Notizblock enthält Datum, Uhrzeit und andere Details. etwas wie folgt:

image 2

Um Protokolldateien zu erstellen, müssen Sie die folgenden Schritte ausführen, um den VB-Editor zu starten: Klicken Sie auf die Registerkarte Entwickler. Wählen Sie in der Codegruppe Visual Basic

image 3

aus * Klicken Sie auf Einfügen und dann auf Modul

image 4

Dadurch wird ein neues Modul erstellt. Geben Sie den folgenden Code in das Modul

Sub LogInformation(LogMessage As String)

Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG"

Dim FileNum As Integer

FileNum = FreeFile ' next file number

Open LogFileName For Append As #FileNum ' creates the file if it doesn't exist

Print #FileNum, LogMessage ' write information at the end of the text file

Close #FileNum ' close the file

End Sub

ein

Public Sub DisplayLastLogInformation()

Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG"

Dim FileNum As Integer, tLine As String

FileNum = FreeFile ' next file number

Open LogFileName For Input Access Read Shared As #f ' open the file for reading

Do While Not EOF(FileNum)

Line Input #FileNum, tLine ' read a line from the text file

Loop ' until the last line is read

Close #FileNum ' close the file

MsgBox tLine, vbInformation, "Last log information:"

End Sub
Sub DeleteLogFile(FullFileName As String)

On Error Resume Next ' ignore possible errors

Kill FullFileName ' delete the file if it exists and it is possible

On Error GoTo 0 ' break on errors

End Sub

image 5

Kopieren Sie den folgenden Code in das ThisWorkbook-Modul

Private Sub Workbook_Open()

LogInformation ThisWorkbook.Name & " opened by " & _

Application.UserName & " " & Format(Now, "yyyy-mm-dd hh:mm")

End Sub

image 6

  • Jetzt ist der VBA-Code fertig. Wenn wir das nächste Mal die Excel-Arbeitsmappe öffnen, werden Datum und Uhrzeit im Editor gespeichert. siehe Bild unten:

image 7

Das Makro überschreibt keine Daten.

Schlussfolgerung: Das Makro wird jedes Mal ausgeführt, wenn die Arbeitsmappe unter dem angegebenen Pfad und Ordner geöffnet wird.

Wenn Ihnen unsere Blogs gefallen haben, teilen Sie sie Ihren Freunden auf Facebook mit. Sie können uns auch auf Twitter und Facebook folgen.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern, ergänzen oder innovieren und für Sie verbessern können. Schreiben Sie uns an [email protected]