File di registro utilizzando VBA in Microsoft Excel

Anonim

Nei computer, un file di registro è un file che registra gli eventi che si verificano in un sistema operativo o in altre esecuzioni di software o messaggi tra diversi utenti di un software di comunicazione. La registrazione è l'atto di tenere un registro. Nel caso più semplice, i messaggi vengono scritti in un singolo file di registro.

Considera uno scenario, l'applicazione sta registrando i dettagli dell'utente nel file di registro che accedono all'applicazione.

I file di registro sono utili in diverse situazioni, soprattutto per gli sviluppatori. I file di registro sono file di testo normale che possono memorizzare informazioni temporanee o più permanenti. Non hai bisogno di molto codice per creare un file di registro. In questo articolo ci concentreremo sulla creazione di file di registro automatici in una cartella specifica.

Domanda: Come posso creare un file di blocco note che contenga la data, l'ora e il nome utente correnti ogni volta che il file viene aperto?

Di seguito è riportata l'istantanea della cartella di lavoro di Excel contenente le informazioni finanziarie:

In questo esempio, il risultato sarà sotto forma di file di testo. Il blocco note conterrà data, ora e altri dettagli; un po' così:

Per creare file di registro, dobbiamo seguire i passaggi seguenti per avviare l'editor VB:

  • Fare clic sulla scheda Sviluppatore
  • Dal gruppo Codice seleziona Visual Basic

  • Fare clic su Inserisci quindi Modulo

  • Questo creerà un nuovo modulo
  • Inserisci il seguente codice nel Modulo
 Sub LogInformation(LogMessage As String) Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile ' prossimo numero di file Apri LogFileName per Aggiungi come #FileNum ' crea il file se non esiste Stampa #FileNum, LogMessage ' scrivi le informazioni alla fine del file di testo Close #FileNum ' chiudi il file End Sub 
 Public Sub DisplayLastLogInformation() Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG" Dim FileNum As Integer, tLine As String FileNum = FreeFile ' numero di file successivo Apri LogFileName per l'accesso in ingresso Leggi condiviso come #f ' apri il file per lettura Do While Not EOF(FileNum) Line Input #FileNum, tLine ' legge una riga dal file di testo Loop ' fino a quando non viene letta l'ultima riga Close #FileNum ' chiude il file MsgBox tLine, vbInformation, "Informazioni sull'ultimo registro:" End Sub 
 Sub DeleteLogFile(FullFileName As String) On Error Resume Next ' ignora possibili errori Kill FullFileName ' elimina il file se esiste ed è possibile On Error GoTo 0 ' break on errors End Sub 

Copia il seguente codice nel modulo ThisWorkbook

 Private Sub Workbook_Open() LogInformation ThisWorkbook.Name & " aperto da " & _ Application.UserName & " " & Formato(Ora, "aaaa-mm-gg hh:mm") End Sub 

  • Ora il codice VBA è pronto; la prossima volta che apriamo la cartella di lavoro excel la data e l'ora verranno salvate nel blocco note; fare riferimento all'immagine sotto:

La macro non sovrascriverà i dati.

Conclusione: La macro verrà eseguita ogni volta che la cartella di lavoro viene aperta nel percorso e nella cartella specificati.

Se ti è piaciuto il nostro blog, condividilo con i tuoi amici su Facebook. E puoi anche seguirci su Twitter e Facebook.

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare, completare o innovare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica