¿Cómo registrar un log de los correos enviados con VBA?

Para registrar un log de los correos enviados utilizando VBA en Outlook, puedes modificar el código VBA que se utiliza para enviar correos electrónicos de modo que también registre información sobre cada envío en un archivo de texto o una hoja de Excel. Aquí tienes un ejemplo básico que utiliza un archivo de texto para registrar los correos enviados:

Sub EnviarCorreoConLog()
    Dim OutlookApp As Object
    Dim Correo As Object
    Dim ArchivoLog As String
    Dim Fs As Object
    Dim Ts As Object
    Dim Asunto As String
    Dim Destinatario As String
    Dim Cuerpo As String
    
    ' Configurar datos del correo
    Asunto = "Asunto del correo"
    Destinatario = "destinatario@ejemplo.com"
    Cuerpo = "Este es el cuerpo del correo."

    ' Configurar la ubicación del archivo log
    ArchivoLog = "C:rutadellogcorreo_log.txt"
    
    ' Crear una instancia de Outlook
    Set OutlookApp = CreateObject("Outlook.Application")
    Set Correo = OutlookApp.CreateItem(0) ' 0 indica correo electrónico
    
    ' Configurar correo
    With Correo
        .To = Destinatario
        .Subject = Asunto
        .Body = Cuerpo

        ' Enviar el correo
        .Send
    End With
    
    ' Registro del log
    Set Fs = CreateObject("Scripting.FileSystemObject")
    ' Comprueba si el archivo ya existe
    If Fs.FileExists(ArchivoLog) Then
        Set Ts = Fs.OpenTextFile(ArchivoLog, 8) ' 8 es para añadir al final
    Else
        Set Ts = Fs.OpenTextFile(ArchivoLog, 2, True) ' 2 es para escribir
    End If
    
    ' Escribir en el log
    Ts.WriteLine "-----------------------------------"
    Ts.WriteLine "Fecha y hora: " & Now
    Ts.WriteLine "Destinatario: " & Destinatario
    Ts.WriteLine "Asunto: " & Asunto
    Ts.WriteLine "-----------------------------------"
    Ts.Close
    
    ' Liberar objetos
    Set Correo = Nothing
    Set OutlookApp = Nothing
    Set Ts = Nothing
    Set Fs = Nothing

    MsgBox "Correo enviado y log registrado."
End Sub
  • Abra el Editor de VBA en Outlook:
    • Presiona `Alt + F11` para abrir el Editor de VBA.
  • Cree un nuevo módulo:
    • Haz clic en `Insertar` > `Módulo`.
  • Inserta el siguiente código en el módulo:
  • Configura el archivo log:
    • Cambia la variable `ArchivoLog` a la ruta donde deseas guardar tu archivo de log. Asegúrate de que la ruta exista y tengas los permisos adecuados para escribir en esa ubicación.
  • Ejecuta el macro:
    • Puedes ejecutar este macro directamente desde el Editor de VBA presionando `F5` o configurándolo como un botón en la cinta de opciones de Outlook para facilitar el acceso.

Este script creará un archivo de texto (correo_log.txt) en el que se añadirá una nueva línea con los detalles del correo cada vez que se envíe un correo. Puedes personalizar el script para que registre más detalles según sea necesario.

Conoce nuestros servicios

Conoce nuestra tienda

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario