Zaznamenávajte súbory pomocou jazyka VBA do programu Microsoft Excel

Anonim

V počítačoch je súbor denníka súbor, ktorý zaznamenáva buď udalosti, ktoré sa vyskytnú v operačnom systéme alebo inom spustení softvéru, alebo správy medzi rôznymi používateľmi komunikačného softvéru. Protokolovanie je akt uchovávania denníka. V najjednoduchšom prípade sú správy zapísané do jedného súboru denníka.

Uvažujte o scenári, že aplikácia zapisuje údaje o používateľovi do súboru denníka, ktorí k aplikácii pristupujú.

Protokolové súbory sú užitočné v rôznych situáciách, najmä pre vývojárov. Protokolové súbory sú obyčajné textové súbory, ktoré môžu ukladať informácie dočasné alebo trvalejšie. Na vytvorenie súboru denníka nepotrebujete veľa kódu. V tomto článku sa zameriame na vytváranie súborov automatického denníka v konkrétnom priečinku.

Otázka: Ako môžem vytvoriť súbor poznámkového bloku, ktorý obsahuje aktuálny dátum, čas a používateľské meno, kedykoľvek sa súbor otvorí?

Nasleduje snímka zošita programu Excel obsahujúca finančné informácie:

V tomto prípade bude výsledok vo forme textového súboru. Zápisník bude obsahovať dátum, čas a ďalšie podrobnosti; asi takto:

Na vytvorenie protokolových súborov musíme pri spustení editora VB vykonať nasledujúce kroky:

  • Kliknite na kartu Vývojár
  • Zo skupiny kódov vyberte Visual Basic

  • Kliknite na Vložiť a potom na Modul

  • Tým sa vytvorí nový modul
  • Do modulu zadajte nasledujúci kód
 Podloginformácie (LogMessage ako reťazec) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'next file number Open LogFileName For Append As #FileNum' vytvorí súbor, ak neexistuje. Vytlačiť #FileNum, LogMessage 'napísať informácie na koniec textového súboru Zavrieť #FileNum' zavrieť súbor Koniec 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 čítanie Do Do not EOF (FileNum) Riadok Vstup #FileNum, tLine 'číta riadok z textového súboru Smyčka', kým sa nečíta posledný riadok Zatvoriť #FileNum 'zatvorí súbor MsgBox tLine, vbInformation, "Posledné informácie z denníka:" Koniec Sub 
 Sub DeleteLogFile (FullFileName As String) On Error Resume Next 'ignore possible errors Kill FullFileName' delete the file if it exist and it is possible On Error GoTo 0 'break on errors End Sub 

Skopírujte nasledujúci kód do modulu ThisWorkbook

 Súbor Sub Subbook_Open () LogInformation ThisWorkbook.Name & "opened by" & _ Application.UserName & "" & Format (Now, "yyyy-mm-dd hh: mm") End Sub 

  • Teraz je kód VBA pripravený začať; nabudúce, keď otvoríme zošit programu Excel, dátum a čas sa uloží do poznámkového bloku; pozri obrázok nižšie:

Makro neprepíše údaje.

Záver: Makro sa spustí vždy, keď sa zošit otvorí na zadanej ceste a priečinku.

Ak sa vám páčili naše blogy, zdieľajte ich so svojimi priateľmi na Facebooku. A tiež nás môžete sledovať na Twitteri a Facebooku.

Radi by sme vás počuli, dajte nám vedieť, ako môžeme zlepšiť, doplniť alebo inovovať našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku