Zapisovanje datotek z uporabo VBA v programu Microsoft Excel

Anonim

V računalnikih je datoteka dnevnika datoteka, ki beleži dogodke, ki se zgodijo v operacijskem sistemu ali drugi programski opremi, ali sporočila med različnimi uporabniki komunikacijske programske opreme. Beleženje je dejanje vodenja dnevnika. V najpreprostejšem primeru so sporočila zapisana v eno samo datoteko dnevnika.

Razmislite o scenariju, kjer aplikacija beleži uporabniške podatke v datoteko dnevnika, ki dostopajo do aplikacije.

Dnevniki so uporabni v različnih situacijah, zlasti za razvijalce. Dnevniki so datoteke z navadnim besedilom, ki lahko hranijo začasne ali trajnejše informacije. Za ustvarjanje datoteke dnevnika ne potrebujete veliko kode. V tem članku se bomo osredotočili na ustvarjanje samodejnih datotek dnevnika v določeni mapi.

Vprašanje: Kako lahko ustvarim datoteko beležnice, ki vsebuje trenutni datum, čas in uporabniško ime vsakič, ko se datoteka odpre?

Sledi posnetek Excelovega delovnega zvezka, ki vsebuje finančne podatke:

V tem primeru bo rezultat v obliki besedilne datoteke. Beležnica bo vsebovala datum, čas in druge podrobnosti; nekako takole:

Za ustvarjanje datotek dnevnika moramo za zagon urejevalnika VB slediti spodnjim korakom:

  • Kliknite zavihek Razvijalec
  • V skupini Koda izberite Visual Basic

  • Kliknite Vstavi in ​​nato Modul

  • To bo ustvarilo nov modul
  • V modul vnesite naslednjo kodo
 Sub LogInformation (LogMessage As String) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'naslednja številka datoteke Odpri LogFileName za dodajanje kot #FileNum' ustvari datoteko, če ne obstaja Natisni #FileNum, LogMessage 'napiši podatke na koncu besedilne datoteke Zapri #FileNum' zapre datoteko End Sub 
 Public Sub DisplayLastLogInformation () Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer, tLine As String FileNum = FreeFile 'naslednja številka datoteke Odpri LogFileName Za vhodni dostop Preberite v skupni rabi kot #f' odprite datoteko za branje Do While Not EOF (FileNum) Line Input #FileNum, tLine 'preberi vrstico iz besedilne datoteke Loop', dokler se ne prebere zadnja vrstica Zapri #FileNum 'zaprite datoteko MsgBox tLine, vbInformation, "Last log information:" End Sub 
 Sub DeleteLogFile (FullFileName As String) On Error Resume Next 'prezri možne napake Kill FullFileName' izbriši datoteko, če obstaja in je možno On Error GoTo 0 'break on errors End Sub 

Kopirajte naslednjo kodo v modul ThisWorkbook

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

  • Zdaj je koda VBA pripravljena; naslednjič, ko odpremo Excelov delovni zvezek, bosta datum in čas shranjena v beležnici; glej spodnjo sliko:

Makro ne bo prepisal podatkov.

Zaključek: Makro se bo zagnal vsakič, ko se delovni zvezek odpre na določeni poti in mapi.

Če so vam bili naši blogi všeč, jih delite s prijatelji na Facebooku. Prav tako nas lahko spremljate na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo, dopolnimo ali inoviramo svoje delo in ga izboljšamo. Pišite nam na spletni strani elektronske pošte