¿Cómo marcar un correo como leído desde Excel usando VBA?

Para marcar un correo como leído desde Excel usando VBA, puedes utilizar la biblioteca de objetos de Outlook. Aquí te dejo un ejemplo de cómo hacerlo. Asegúrate de que Outlook esté configurado como tu cliente de correo predeterminado y que tengas permisos para acceder a los correos:

   Sub MarcarCorreoComoLeido()
       Dim OutlookApp As Outlook.Application
       Dim OutlookNamespace As Outlook.Namespace
       Dim CarpetaBandejaEntrada As Outlook.MAPIFolder
       Dim objMail As Outlook.MailItem
       Dim i As Integer

       ' Inicializamos la aplicación de Outlook
       On Error Resume Next
       Set OutlookApp = GetObject(, "Outlook.Application")
       If OutlookApp Is Nothing Then
           Set OutlookApp = CreateObject("Outlook.Application")
       End If
       On Error GoTo 0

       ' Obtenemos el espacio de trabajo de Outlook
       Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")

       ' Obtenemos la carpeta de Bandeja de Entrada
       Set CarpetaBandejaEntrada = OutlookNamespace.GetDefaultFolder(olFolderInbox)

       ' Iteramos a través de los correos de la bandeja de entrada
       For i = 1 To CarpetaBandejaEntrada.Items.Count
           If TypeName(CarpetaBandejaEntrada.Items(i)) = "MailItem" Then
               Set objMail = CarpetaBandejaEntrada.Items(i)
               If Not objMail.UnRead Then
                   ' Si el correo está no leído, lo marcamos como leído
                   objMail.UnRead = False
                   objMail.Save
               End If
           End If
       Next i

       ' Liberamos los objetos
       Set objMail = Nothing
       Set CarpetaBandejaEntrada = Nothing
       Set OutlookNamespace = Nothing
       Set OutlookApp = Nothing

       MsgBox "Todos los correos fueron marcados como leídos.", vbInformation
   End Sub
  • Abre Excel y presiona `ALT + F11` para abrir el Editor de Visual Basic para Aplicaciones (VBA).
  • Selecciona `Herramientas` en el menú y luego `Referencias`.
  • En la lista de referencias, busca y marca `Microsoft Outlook xx.x Object Library` (donde «xx.x» depende de la versión de Office que tienes instalada).
  • Cierra la ventana de referencias.
  • En el Editor de VBA, ve a `Insertar` > `Módulo` para crear un nuevo módulo.
  • Copia y pega el siguiente código en el módulo:
  • Guarda tu trabajo y cierra el Editor de VBA.
  • Ejecuta la macro `MarcarCorreoComoLeido` desde Excel.

Este script recorrerá todos los correos en la bandeja de entrada de tu cuenta configurada en Outlook y los marcará como leídos si están no leídos. Ten cuidado al realizar esta operación, ya que afectará a todos los correos no leídos en tu bandeja de entrada. Si deseas seleccionar correos específicos, podrías modificar el script para incluir criterios de búsqueda adicionales.

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