I file di log che utilizzano VBA in Microsoft Excel
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:
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:
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
-
Fare clic su Inserisci quindi su 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 ' 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
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
-
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:
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]_