Los archivos de registro utilizando VBA en Microsoft Excel
En las computadoras, un archivo de registro es un archivo que registra eventos que ocurren en un sistema operativo o en la ejecución de otro software, o mensajes entre diferentes usuarios de un software de comunicación. La tala es el acto de llevar un registro. En el caso más simple, los mensajes se escriben en un solo archivo de registro .
Considere un escenario, la aplicación está registrando los detalles del usuario en el archivo de registro que está accediendo a la aplicación.
Los archivos de registro son útiles en diferentes situaciones, especialmente para los desarrolladores. Los archivos de registro son archivos de texto sin formato que pueden almacenar información de forma temporal o más permanente. No necesita mucho código para crear un archivo de registro. En este artículo nos centraremos en crear archivos de registro automáticos en una carpeta específica .
===
Pregunta: ¿Cómo puedo crear un archivo de bloc de notas que contenga la fecha, hora y nombre de usuario actuales cada vez que se abre el archivo?
A continuación se muestra la instantánea del libro de trabajo de Excel que contiene información financiera:
En este ejemplo, el resultado estará en forma de archivo de texto. El bloc de notas contendrá la fecha, la hora y otros detalles; algo así:
Para crear archivos de registro, debemos seguir los pasos a continuación para iniciar el editor VB: Haga clic en la pestaña Desarrollador Desde el grupo Código, seleccione Visual Basic
-
Haga clic en Insertar y luego en Módulo
Esto creará un nuevo módulo Ingrese el siguiente código en el Módulo
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
Copie el siguiente código en el módulo ThisWorkbook
Private Sub Workbook_Open() LogInformation ThisWorkbook.Name & " opened by " & _ Application.UserName & " " & Format(Now, "yyyy-mm-dd hh:mm") End Sub
-
Ahora el código VBA está listo para funcionar; la próxima vez que abramos el libro de Excel, la fecha y la hora se guardarán en el bloc de notas; consulte la imagen de abajo:
La macro no sobrescribirá los datos.
Conclusión: La macro se ejecutará cada vez que el libro se abra en la ruta y carpeta especificadas.
Si te gustaron nuestros blogs, compártelo con tus amigos en Facebook. Y también puedes seguirnos en Twitter y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar, complementar o innovar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]