Archivos de registro usando VBA en Microsoft Excel

Tabla de contenido

En las computadoras, un archivo de registro es un archivo que registra eventos que ocurren en un sistema operativo u otro software ejecutado, 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 la creación de 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 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 de VB:

  • Haga clic en la pestaña Desarrollador
  • Desde el grupo de 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 como cadena) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'siguiente número de archivo Abrir LogFileName para agregar como #FileNum' crea el archivo si no existe Imprimir #FileNum, LogMessage 'escribir información al final del archivo de texto Cerrar #FileNum' cerrar el archivo End Sub 
 Public Sub DisplayLastLogInformation () Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer, tLine As String FileNum = FreeFile 'siguiente número de archivo Abrir LogFileName para acceso de entrada Leer compartido como #f' abrir el archivo para leyendo Do While Not EOF (FileNum) Entrada de línea #FileNum, tLine 'leer una línea del archivo de texto Loop' hasta que se lea la última línea Cerrar #FileNum 'cerrar el archivo MsgBox tLine, vbInformation, "Última información de registro:" End Sub 
 Sub DeleteLogFile (FullFileName As String) En caso de error Continuar Siguiente 'ignorar posibles errores Eliminar FullFileName' eliminar el archivo si existe y es posible En caso de error Ir a 0 'romper en errores End Sub 

Copie el siguiente código en el módulo ThisWorkbook

 Private Sub Workbook_Open () LogInformation ThisWorkbook.Name & "open by" & _ Application.UserName & "" & Format (Now, "aaaa-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 siguiente imagen:

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 al sitio de correo electrónico

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave