ERLANDSEN DATA CONSULTING Excel & VBA Tips   Information in English / Informasjon på engelsk

Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.

Klikk her for å gå til den oppdaterte informasjonen.

Logg-filer

Logg-filer kan være nyttige i mange sammenhenger, spesielt for utviklere. Logg-filer er enkle tekstfiler som man lagrer informasjon i, enten midlertidig eller mer permanent. For å lagre informasjon i en logg-fil trenger man ikke å legge til mye kode:

Sub LogInformation(LogMessage As String)
Const LogFileName As String = "C:\FOLDERNAME\TEXTFILE.LOG"
Dim FileNum As Integer
    FileNum = FreeFile ' neste ledige filnummer
    Open LogFileName For Append As #FileNum ' oppretter filen dersom den ikke finnes
    Print #FileNum, LogMessage ' skriver informasjon på slutten av tekstfilen
    Close #FileNum ' lukker filen
End Sub

Makroen ovenfor kan bl.a. benyttes fra andre makroer på denne måten:

Private Sub Workbook_Open()
    LogInformation ThisWorkbook.Name & " åpnet av " & _ 
        Application.UserName & " " & Format(Now, "yyyy-mm-dd hh:mm")
End Sub

Logg-filene som lages på denne måten kan leses av alle programmer som kan lese rene tekstfiler, f.eks. Notisblokk, Write, Word og Excel. Man kan også lese innholdet i logg-filer med VBA, her er et lite eksempel:

Public Sub DisplayLastLogInformation()
Const LogFileName As String = "C:\FOLDERNAME\TEXTFILE.LOG"
Dim FileNum As Integer, tLine As String
    FileNum = FreeFile ' neste ledige filnummer
    Open LogFileName For Input Access Read Shared As #f ' åpner filen for lesing
    Do While Not EOF(FileNum)
        Line Input #FileNum, tLine ' leser en linje fra tekstfilen
    Loop ' inntil siste linje er lest
    Close #FileNum ' lukker filen
    MsgBox tLine, vbInformation, "Siste logg-informasjon:"
End Sub

Logg-filer kan etter hvert bli ganske store, spesielt hvis det logges mye informasjon eller det logges ofte. Da kan det være greit å kunne slette logg-filen. Dette kan gjøres manuelt fra Windows Utforsker, automatisk på et gitt tidspunkt (f.eks. med en AT-kommando i Windows NT eller et annet egnet verktøy) eller fra en makro på denne måten:

Sub DeleteLogFile(FullFileName As String)
    On Error Resume Next ' ignorer eventuelle feil som kan oppstå
    Kill FullFileName ' sletter filen dersom den finnes og sletting er mulig
    On Error Goto 0 ' stopp ved feil som oppstår
End Sub

Makroen ovenfor kan benyttes slik i en annen makro:

DeleteLogFile "C:\FOLDERNAME\TEXTFILE.LOG"

 

 

Dokumentet er sist oppdatert 2000-11-02 12:33:11      Utskriftsvennlig versjon

 

Erlandsen Data Consulting     http://www.erlandsendata.no/   
Excel & VBA Tips   Copyright ©1999-2017    Ole P. Erlandsen   All rights reserved
E-post kontaktadresse