Logige failid sisse Microsoft Excelis VBA abil

Anonim

Arvutites on logifail fail, mis salvestab kas operatsioonisüsteemis või muul tarkvaral töötavaid sündmusi või sõnumeid sidetarkvara erinevate kasutajate vahel. Logimine on logi pidamine. Lihtsamal juhul kirjutatakse sõnumid ühte logifaili.

Kaaluge stsenaariumi: rakendus logib kasutajaandmeid logifaili, kes sellele rakendusele juurde pääsevad.

Logifailid on kasulikud erinevates olukordades, eriti arendajatele. Logifailid on lihttekstifailid, mis võivad teavet ajutiselt või püsivamalt salvestada. Logifaili loomiseks pole vaja palju koodi. Selles artiklis keskendume automaatsete logifailide loomisele kindlas kaustas.

Küsimus: Kuidas luua märkmiku faili, mis sisaldab praegust kuupäeva, kellaaega ja kasutajanime, kui fail avaneb?

Järgnev on finantsteavet sisaldava Exceli töövihiku ülevaade:

Selles näites on tulemus tekstifaili kujul. Märkmik sisaldab kuupäeva, kellaaega ja muid üksikasju; natuke nii:

Logifailide loomiseks peame VB redaktori käivitamiseks toimima järgmiselt.

  • Klõpsake vahekaarti Arendaja
  • Valige koodigrupist Visual Basic

  • Klõpsake nuppu Sisesta ja seejärel Moodul

  • See loob uue mooduli
  • Sisestage moodulisse järgmine kood
 Sub LogInformation (LogMessage as String) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'järgmine failinumber Ava LogFileName For Append As #FileNum' loob faili, kui seda pole Prindi #FileNum, LogMessage "kirjuta teave tekstifaili lõppu Sulge #FileNum" sulge fail Faili lõpp Alam 
 Public Sub DisplayLastLogInformation () Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum nagu täisarv, tLine As String FileNum = FreeFile 'järgmine failinumber Ava LogFileName sisendjuurdepääsu jaoks Loe Jagatud nimega #f' ava fail lugedes Do while Not EOF (FileNum) rea sisend #FileNum, tLine "loeb tekstifailist Loop rida" kuni viimase rea lugemiseni Sulge #FileNum "sulgege fail MsgBox tLine, vbInformation," Viimane logiteave: "Lõpu alam 
 Alam DeleteLogFile (FullFileName kui string) Sisse Viga Jätka Järgmine 'ignoreeri võimalikke vigu 

Kopeerige ThisWorkbook moodulis järgmine kood

 Privaatne alamtöövihik_Open () LogInformation ThisWorkbook.Name & "avas" & _ Application.UserName & "" & Format (Now, "yyyy-mm-dd hh: mm") End Sub 

  • Nüüd on VBA kood valmis; järgmine kord, kui avame Exceli töövihiku, salvestatakse kuupäev ja kellaaeg märkmikusse; vaadake allolevat pilti:

Makro ei kirjuta andmeid üle.

Järeldus: Makro käivitatakse iga kord, kui töövihik avatakse määratud teel ja kaustas.

Kui teile meeldisid meie ajaveebid, jagage seda oma sõpradega Facebookis. Samuti saate meid jälgida Twitteris ja Facebookis.

Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd täiustada, täiendada või uuendada ning muuta see teie jaoks paremaks. Kirjuta meile meilisaidile