Prisijunkite prie failų naudodami „Microsoft Excel“ VBA

Anonim

Kompiuteriuose žurnalo failas yra failas, kuriame įrašomi įvykiai, įvykę operacinėje sistemoje ar kitoje programinėje įrangoje, arba pranešimai tarp skirtingų ryšio programinės įrangos vartotojų. Prisijungimas yra žurnalo vedimas. Paprasčiausiu atveju pranešimai rašomi į vieną žurnalo failą.

Apsvarstykite scenarijų, kai programa registruoja vartotojo duomenis į žurnalo failą, kurie pasiekia programą.

Žurnalo failai yra naudingi įvairiose situacijose, ypač kūrėjams. Žurnalo failai yra paprasto teksto failai, kuriuose informacija gali būti laikina arba nuolatinė. Norėdami sukurti žurnalo failą, jums nereikia daug kodo. Šiame straipsnyje mes sutelksime dėmesį į automatinių žurnalo failų kūrimą konkrečiame aplanke.

Klausimas: Kaip galiu sukurti užrašų knygelę, kurioje yra dabartinė data, laikas ir vartotojo vardas, kai failas atidaromas?

Toliau pateikiama „Excel“ darbaknygės, kurioje yra finansinė informacija, momentinė nuotrauka:

Šiame pavyzdyje rezultatas bus teksto failo pavidalu. Užrašų knygelėje bus data, laikas ir kita informacija; kazkaip taip:

Norėdami sukurti žurnalo failus, norėdami paleisti VB redaktorių, turime atlikti šiuos veiksmus:

  • Spustelėkite skirtuką Kūrėjas
  • Iš kodų grupės pasirinkite „Visual Basic“

  • Spustelėkite Įterpti, tada - Modulis

  • Tai sukurs naują modulį
  • Į modulį įveskite šį kodą
 Sub LogInformation (LogMessage As String) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'kito failo numeris Atidaryti LogFileName For Append As #FileNum' sukuria failą, jei jo nėra Spausdinti #FileNum, LogMessage "rašyti informaciją teksto failo pabaigoje Uždaryti #FileNum" uždaryti failą End Sub 
 Public Sub DisplayLastLogInformation () Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer, tLine As String FileNum = FreeFile 'kito failo numeris skaitant „Do while Not EOF“ („FileNum“) eilutės įvestis #FileNum, tLine „skaito eilutę iš teksto failo„ Loop “, kol bus perskaityta paskutinė eilutė Uždaryti #FileNum“ uždaryti failą „MsgBox tLine“, „vbInformation“, „Paskutinio žurnalo informacija:“ Pabaiga 
 Sub DeleteLogFile (FullFileName As String) Įjungus klaidą Tęsti Toliau 'ignoruoti galimas klaidas Nužudyti FullFileName' ištrinti failą, jei jis yra ir tai įmanoma Klaidos GoTo 0 atveju pertrauka dėl klaidų Pabaiga Sub 

Nukopijuokite šį kodą „ThisWorkbook“ modulyje

 Privati ​​antrinė darbo knyga_Atidaryti () Prisijungimo informaciją ThisWorkbook.Name & "atidarė" & _ Application.UserName & "" & Format (Dabar, "yyyy-mm-dd hh: mm") Pabaiga 

  • Dabar VBA kodas jau paruoštas; kai kitą kartą atidarysime „Excel“ darbaknygę, data ir laikas bus išsaugoti užrašų knygelėje; žiūrėkite žemiau esančiame paveikslėlyje:

Makrokomandos neperrašys duomenų.

Išvada: Makrokomanda bus vykdoma kiekvieną kartą, kai darbaknygė atidaroma nurodytu keliu ir aplanku.

Jei jums patiko mūsų tinklaraščiai, pasidalykite jais su draugais „Facebook“. Taip pat galite sekti mus „Twitter“ ir „Facebook“.

Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime patobulinti, papildyti ar naujovinti savo darbą ir padaryti jį geresnį. Parašykite mums el