Dans les ordinateurs, un fichier journal est un fichier qui enregistre soit des événements qui se produisent dans un système d’exploitation ou d’autres exécutions de logiciels, soit des messages entre différents utilisateurs d’un logiciel de communication. La journalisation consiste à tenir un journal. Dans le cas le plus simple, les messages sont écrits dans un seul fichier journal.

Envisagez un scénario, l’application enregistre les détails de l’utilisateur dans le fichier journal qui accède à l’application.

Les fichiers Log sont utiles dans différentes situations, en particulier pour les développeurs. Les fichiers journaux sont des fichiers de texte brut qui peuvent stocker des informations de manière temporaire ou plus permanente. Vous n’avez pas besoin de beaucoup de code pour créer un fichier journal. Dans cet article, nous nous concentrerons sur la création de fichiers journaux automatiques dans un dossier spécifique.

===

Question: Comment puis-je créer un fichier de bloc-notes contenant la date, l’heure et le nom d’utilisateur actuels chaque fois que le fichier est ouvert?

Voici un instantané du classeur Excel contenant des informations financières:

image 1

Dans cet exemple, le résultat sera sous forme de fichier texte. Le bloc-notes contiendra la date, l’heure et d’autres détails; un peu comme ça:

image 2

Pour créer des fichiers journaux, nous devons suivre les étapes ci-dessous pour lancer l’éditeur VB: Cliquez sur l’onglet Développeur Dans le groupe Code, sélectionnez Visual Basic

image 3

  • Cliquez sur Insérer puis Module

image 4

Cela créera un nouveau module Entrez le code suivant dans le module

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
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

Copiez le code suivant dans le module ThisWorkbook

Private Sub Workbook_Open()

LogInformation ThisWorkbook.Name & " opened by " & _

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

End Sub

image 6

  • Maintenant, le code VBA est prêt à fonctionner; la prochaine fois que nous ouvrirons le classeur Excel, la date et l’heure seront enregistrées dans le bloc-notes; voir ci-dessous l’image:

image 7

La macro n’écrasera pas les données.

Conclusion: La macro s’exécutera chaque fois que le classeur sera ouvert au chemin et au dossier spécifiés.

Si vous avez aimé nos blogs, partagez-les avec vos amis sur Facebook. Et vous pouvez aussi nous suivre sur Twitter et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]