På datamaskiner er en loggfil en fil som enten registrerer hendelser som oppstår i et operativsystem eller andre programvarekjøringer, eller meldinger mellom forskjellige brukere av en kommunikasjonsprogramvare. Logging er det å føre logg. I det enkleste tilfellet skrives meldinger til en enkelt loggfil.
Vurder et scenario, programmet logger brukerinformasjon i loggfilen som får tilgang til programmet.
Loggfiler er nyttige i forskjellige situasjoner, spesielt for utviklere. Loggfiler er vanlige tekstfiler som kan lagre informasjon midlertidig eller mer permanent. Du trenger ikke mye kode for å lage en loggfil. I denne artikkelen vil vi fokusere på å lage automatiske loggfiler i en bestemt mappe.
Spørsmål: Hvordan kan jeg lage en notisblokkfil som inneholder gjeldende dato, klokkeslett og brukernavn når filen åpnes?
Følgende er øyeblikksbildet av Excel -arbeidsbok som inneholder finansiell informasjon:
I dette eksemplet vil resultatet være i form av tekstfil. Notisblokken inneholder dato, klokkeslett og andre detaljer; litt sånn:
For å lage loggfiler må vi følge trinnene nedenfor for å starte VB -editor:
- Klikk på kategorien Utvikler
- Velg Visual Basic fra kodegruppen
- Klikk på Sett inn og deretter modul
- Dette vil opprette en ny modul
- Skriv inn følgende kode i modulen
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' oppretter filen hvis den ikke finnes Skriv ut #FileNum, LogMessage 'skrive informasjon på slutten av tekstfilen Lukk #FileNum' lukk filen 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 lese Do While Not EOF (FileNum) Line Input #FileNum, tLine 'les en linje fra tekstfilen Loop' til den siste linjen er lest Lukk #FileNum 'lukk filen MsgBox tLine, vbInformation, "Last log information:" End Sub
Sub DeleteLogFile (FullFileName As String) On Error Resume Next 'ignorer mulige feil Drep FullFileName' slett filen hvis den eksisterer og det er mulig On Error GoTo 0 'break on errors End Sub
Kopier følgende kode i ThisWorkbook -modulen
Private Sub Workbook_Open () LogInformation ThisWorkbook.Name & "åpnet av" & _ Application.UserName & "" & Format (Now, "yyyy-mm-dd hh: mm") End Sub
- Nå er VBA -koden klar til å gå; neste gang vi åpner Excel -arbeidsboken, blir dato og klokkeslett lagret i notisblokken; se bildet under:
Makroen vil ikke overskrive data.
Konklusjon: Makroen kjøres hver gang arbeidsboken åpnes i den angitte banen og mappen.
Hvis du likte bloggene våre, del den med vennene dine på Facebook. Og du kan også følge oss på Twitter og Facebook.
Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre, utfylle eller innovere arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post