Înregistrați fișiere utilizând VBA în Microsoft Excel

Anonim

În computere, un fișier jurnal este un fișier care înregistrează fie evenimente care apar într-un sistem de operare sau alte rule software, fie mesaje între diferiți utilizatori ai unui software de comunicații. Înregistrarea este actul de a păstra un jurnal. În cel mai simplu caz, mesajele sunt scrise într-un singur fișier jurnal.

Luați în considerare un scenariu, aplicația înregistrează detaliile utilizatorului în fișierul jurnal care accesează aplicația.

Fișierele jurnal sunt utile în diferite situații, în special pentru dezvoltatori. Fișierele jurnal sunt fișiere text simplu care pot stoca informații temporare sau mai permanente. Nu aveți nevoie de mult cod pentru a crea un fișier jurnal. În acest articol ne vom concentra pe crearea de fișiere jurnal automate într-un anumit folder.

Întrebare: Cum pot crea un fișier de notepad care conține data curentă, ora și numele de utilizator ori de câte ori fișierul este deschis?

Urmează instantaneul registrului de lucru Excel care conține informații financiare:

În acest exemplu, rezultatul va fi sub forma unui fișier text. Notepad-ul va conține data, ora și alte detalii; oarecum așa:

Pentru a crea fișiere jurnal, trebuie să urmăm pașii de mai jos pentru a lansa editorul VB:

  • Faceți clic pe fila Dezvoltator
  • Din grupul de coduri, selectați Visual Basic

  • Faceți clic pe Insert apoi Module

  • Aceasta va crea un nou modul
  • Introduceți următorul cod în modul
 Sub LogInformation (LogMessage As String) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'următorul număr de fișier Deschideți LogFileName Pentru A adăuga ca #FileNum' creează fișierul dacă nu există Imprimați #FileNum, LogMessage 'scrieți informații la sfârșitul fișierului text Închideți #FileNum' închideți fișierul End Sub 
 Public Sub DisplayLastLogInformation () Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer, tLine As String FileNum = FreeFile 'următorul număr de fișier Deschis LogFileName Pentru intrare Acces Citire partajată ca #f' deschideți fișierul pentru citind Do While Not EOF (FileNum) Line Input #FileNum, tLine 'citește o linie din fișierul text Buclă' până când se citește ultima linie Închide #FileNum 'închide fișierul MsgBox tLine, vbInformation, "Ultima informație jurnal:" End Sub 
 Sub DeleteLogFile (FullFileName As String) La eroare Reîncepe Următorul 'ignora posibilele erori Kill FullFileName' șterge fișierul dacă există și este posibil La eroare GoTo 0 'pauză la erori Termină Sub 

Copiați următorul cod în modulul ThisWorkbook

 Private Sub Workbook_Open () LogInformation ThisWorkbook.Name & "deschis de" & _ Application.UserName & "" & Format (Acum, "aaaa-mm-dd hh: mm") End Sub 

  • Acum, codul VBA este gata; data viitoare când deschidem registrul de lucru Excel, data și ora vor fi salvate în notepad; consultați imaginea de mai jos:

Macrocomanda nu va suprascrie datele.

Concluzie: Macrocomanda va rula de fiecare dată când registrul de lucru se deschide la calea și folderul specificat.

Dacă ți-au plăcut blogurile noastre, împărtășește-le prietenilor tăi de pe Facebook. Și, de asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți, completa sau inova munca noastră și să o îmbunătățim. Scrieți-ne pe site-ul de e-mail