Log filer ved hjælp af VBA i Microsoft Excel

Indholdsfortegnelse

På computere er en logfil en fil, der enten registrerer hændelser, der forekommer i et operativsystem eller andre softwarekørsler, eller meddelelser mellem forskellige brugere af et kommunikationssoftware. Logning er handlingen med at føre en log. I det enkleste tilfælde skrives beskeder til en enkelt logfil.

Overvej et scenarie, programmet logger brugeroplysningerne i logfilen, der får adgang til programmet.

Logfiler er nyttige i forskellige situationer, især for udviklere. Logfiler er almindelige tekstfiler, der kan gemme oplysninger midlertidigt eller mere permanent. Du behøver ikke meget kode for at oprette en logfil. I denne artikel vil vi fokusere på at oprette automatiske logfiler i en bestemt mappe.

Spørgsmål: Hvordan kan jeg oprette en notesblokfil, der indeholder den aktuelle dato, klokkeslæt og brugernavn, når filen åbnes?

Følgende er øjebliksbillede af Excel -projektmappe, der indeholder finansielle oplysninger:

I dette eksempel vil resultatet være i form af tekstfil. Notesblokken indeholder dato, klokkeslæt og andre detaljer; lidt sådan her:

For at oprette logfiler skal vi følge nedenstående trin for at starte VB -editor:

  • Klik på fanen Udvikler
  • Vælg Visual Basic fra kodegruppen

  • Klik på Indsæt derefter modul

  • Dette vil oprette et nyt modul
  • Indtast følgende kode i modulet
 Sub LogInformation (LogMessage As String) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'næste filnummer Åbn LogFileName For Append As #FileNum' opretter filen, hvis den ikke findes Udskriv #FileNum, LogMessage 'skriv oplysninger i slutningen af ​​tekstfilen Luk #FileNum' luk filen Afslut 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 læsning Do While Not EOF (FileNum) Line Input #FileNum, tLine 'læs en linje fra tekstfilen Loop', indtil den sidste linje er læst Luk #FileNum 'luk filen MsgBox tLine, vbInformation, "Sidste logoplysninger:" Afslut Sub 
 Sub DeleteLogFile (FullFileName As String) On Error Resume Next 'ignorer mulige fejl Kill FullFileName' slet filen, hvis den findes, og det er muligt On Error GoTo 0 'break on errors End Sub 

Kopier følgende kode i ThisWorkbook -modulet

 Private Sub Workbook_Open () LogInformation ThisWorkbook.Name & "åbnet af" & _ Application.UserName & "" & Format (Nu, "åååå-mm-dd hh: mm") Afslut Sub 

  • Nu er VBA -koden klar til at gå; næste gang, når vi åbner excel -projektmappen, vil dato og klokkeslæt blive gemt i notesblok; se billedet herunder:

Makroen overskriver ikke data.

Konklusion: Makroen kører hver gang projektmappen åbnes på den angivne sti og mappe.

Hvis du kunne lide vores blogs, kan du dele den med dine venner på Facebook. Og også du kan følge os på Twitter og Facebook.

Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre, supplere eller innovere vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave