Nei computer, un file di registro è un file che registra gli eventi che si verificano in un sistema operativo o in altri software, oppure i 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 sta accedendo all’applicazione .

_ I file di registro sono utili in diverse situazioni, soprattutto per gli sviluppatori. I file di registro sono file di testo semplice che possono memorizzare informazioni temporanee o più permanenti. Non è necessario molto codice per creare un file di registro. In questo articolo ci concentreremo sulla creazione di file di log 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:

image 1

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

image 2

Per creare file di registro, è necessario seguire i passaggi seguenti per avviare l’editor VB: Fare clic sulla scheda Sviluppatore Dal gruppo Codice selezionare Visual Basic

image 3

  • Fare clic su Inserisci quindi su Modulo

image 4

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 ' next file number

Open LogFileName For Append As #FileNum ' creates the file if it doesn't exist

Print #FileNum, LogMessage ' write information at the end of the text file

Close #FileNum ' close the file

End Sub
Public Sub DisplayLastLogInformation()

Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG"

Dim FileNum As Integer, tLine As String

FileNum = FreeFile ' next file number

Open LogFileName For Input Access Read Shared As #f ' open the file for reading

Do While Not EOF(FileNum)

Line Input #FileNum, tLine ' read a line from the text file

Loop ' until the last line is read

Close #FileNum ' close the file

MsgBox tLine, vbInformation, "Last log information:"

End Sub
Sub DeleteLogFile(FullFileName As String)

On Error Resume Next ' ignore possible errors

Kill FullFileName ' delete the file if it exists and it is possible

On Error GoTo 0 ' break on errors

End Sub

image 5

Copia il seguente codice nel modulo ThisWorkbook

Private Sub Workbook_Open()

LogInformation ThisWorkbook.Name & " opened by " & _

Application.UserName & " " & Format(Now, "yyyy-mm-dd hh:mm")

End Sub

image 6

  • Ora il codice VBA è pronto per partire; la prossima volta che apriremo la cartella di lavoro di Excel, la data e l’ora verranno salvate nel blocco note; fare riferimento all’immagine sottostante:

image 7

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 i nostri blog ti sono piaciuti, condividilo con i tuoi amici su Facebook. E anche tu puoi seguirci su Twitter e Facebook.

_ Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare, integrare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]_