V počítačích je soubor protokolu soubor, který zaznamenává buď události, ke kterým dochází v operačním systému nebo v jiném spuštění softwaru, nebo zprávy mezi různými uživateli komunikačního softwaru. Protokolování je akt vedení protokolu. V nejjednodušším případě jsou zprávy zapsány do jednoho souboru protokolu.
Zvažte scénář, kdy aplikace zaznamenává podrobnosti o uživateli do souboru protokolu, kteří k aplikaci přistupují.
Soubory protokolu jsou užitečné v různých situacích, zejména pro vývojáře. Soubory protokolu jsou soubory prostého textu, které mohou ukládat informace dočasné nebo trvalejší. K vytvoření souboru protokolu nepotřebujete mnoho kódu. V tomto článku se zaměříme na vytváření souborů automatického protokolu v konkrétní složce.
Otázka: Jak mohu vytvořit soubor poznámkového bloku, který obsahuje aktuální datum, čas a uživatelské jméno, kdykoli se soubor otevře?
Následuje snímek sešitu aplikace Excel obsahující finanční informace:
V tomto případě bude výsledek ve formě textového souboru. Poznámkový blok bude obsahovat datum, čas a další podrobnosti; asi takto:
Chcete -li vytvářet soubory protokolu, musíme ke spuštění editoru VB provést následující kroky:
- Klikněte na kartu Vývojář
- Ze skupiny kódů vyberte Visual Basic
- Klikněte na Vložit a poté na Modul
- Tím se vytvoří nový modul
- Do modulu zadejte následující kód
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' vytvoří soubor, pokud neexistuje Vytisknout #FileNum, LogMessage 'zapsat informace na konec textového souboru Zavřít #FileNum' zavřít soubor 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 čtení 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
Zkopírujte následující kód do modulu ThisWorkbook
Soukromý dílčí sešit_Open () LogInformation ThisWorkbook.Name & "opened by" & _ Application.UserName & "" & Format (Now, "yyyy-mm-dd hh: mm") End Sub
- Nyní je kód VBA připraven; příště, když otevřeme excelový sešit, datum a čas se uloží do poznámkového bloku; viz obrázek níže:
Makro nepřepíše data.
Závěr: Makro se spustí pokaždé, když se sešit otevře na zadané cestě a složce.
Pokud se vám naše blogy líbily, sdílejte je se svými přáteli na Facebooku. A také nás můžete sledovat na Twitteru a Facebooku.
Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit, doplnit nebo inovovat naši práci a zlepšit ji pro vás. Napište nám na e -mail