Lokitiedostot VBA: n avulla Microsoft Excelissä

Sisällysluettelo

Tietokoneissa lokitiedosto on tiedosto, joka tallentaa joko käyttöjärjestelmässä tai muussa ohjelmistossa suoritettavat tapahtumat tai viestintäohjelmiston eri käyttäjien väliset viestit. Kirjaaminen on lokin pitämistä. Yksinkertaisimmassa tapauksessa viestit kirjoitetaan yhteen lokitiedostoon.

Harkitse skenaariota, sovellus kirjaa käyttäjätiedot lokitiedostoon, jotka käyttävät sovellusta.

Lokitiedostot ovat hyödyllisiä eri tilanteissa, erityisesti kehittäjille. Lokitiedostot ovat tavallisia tekstitiedostoja, jotka voivat tallentaa tietoja väliaikaisesti tai pysyvästi. Et tarvitse paljon koodia lokitiedoston luomiseen. Tässä artikkelissa keskitymme automaattisten lokitiedostojen luomiseen tiettyyn kansioon.

Kysymys: Kuinka voin luoda muistiinpanotiedoston, joka sisältää nykyisen päivämäärän, kellonajan ja käyttäjänimen aina, kun tiedosto avataan?

Seuraavassa on tilannekuva Excel -työkirjasta, joka sisältää taloudellisia tietoja:

Tässä esimerkissä tulos on tekstitiedoston muodossa. Muistilehtiö sisältää päivämäärän, kellonajan ja muut tiedot; vähän näin:

Lokitiedostojen luomiseksi meidän on suoritettava seuraavat vaiheet VB -editorin käynnistämiseksi:

  • Napsauta Kehittäjä -välilehteä
  • Valitse koodiryhmästä Visual Basic

  • Napsauta Lisää ja sitten Moduuli

  • Tämä luo uuden moduulin
  • Syötä seuraava koodi moduuliin
 Sub LogInformation (LogMessage As String) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'seuraava tiedostonumero Avaa LogFileName For Append As #FileNum' luo tiedoston, jos sitä ei ole Tulosta #FileNum, LogMessage 'kirjoita tiedot tekstitiedoston loppuun Sulje #FileNum' sulje tiedosto End Sub 
 Public Sub DisplayLastLogInformation () Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum Integer, tLine As String FileNum = FreeFile 'seuraava tiedostonumero Avaa LogFileName for Input Access Read Shared as #f' avaa tiedosto luku Do Do Not Not EOF (FileNum) Rivitulo #FileNum, tLine "lukee tekstitiedoston Loop -rivin", kunnes viimeinen rivi on lukittu Sulje #FileNum "sulje tiedosto MsgBox tLine, vbInformation," Last log information: "End Sub 
 Sub DeleteLogFile (FullFileName as String) On Error Jatka Seuraava 'ohita mahdolliset virheet Kill FullFileName' poista tiedosto, jos se on olemassa ja on mahdollista On Error GoTo 0 'break on errors End Sub 

Kopioi seuraava koodi ThisWorkbook -moduulissa

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

  • Nyt VBA -koodi on valmis menemään; seuraavan kerran, kun avaamme Excel -työkirjan, päivämäärä ja aika tallennetaan muistikirjaan; katso alla oleva kuva:

Makro ei korvaa tietoja.

Johtopäätös: Makro suoritetaan aina, kun työkirja avataan määritetyllä polulla ja kansiossa.

Jos pidit blogistamme, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.

Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa, täydentää tai innovoida työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave