fbpx

Leer emails de Outlook desde Excel

Hola a todos!

En esta ocasión te muestro un código para leer los emails de Outlook desde el mismo Excel.

Debes tener Outlook en tu pc instalado y configurado con uno o mas correos para que esta macro funcione.

Ya que la macro utiliza la información de Outlook de tu pc para extraer la información de los correos.


Recientemente me hicieron un requerimiento por la página de solicitudes.

La cual es:

Hola, descargué un archivo donde te enlista los nombre de los correos que se reciben, solo que mi duda es: Cómo puedo seleccionar otra carpeta de otro correo que tengo montado. Saludos.

Para lo cual actualicé este artículo con base en esa solicitud.

[Recuerda] Al final del artículo puedes descargar el archivo de Ejemplo!

Así que empecemos. 👇

Configurar referencias para leer emails

Lo primero que debemos realizar es adicionar la referencia «Microsoft Outlook XX Object Library«.

Adicionar referencia de outlook en vba

Esto es, para que en nuestro código podamos acceder a las funciones de Outlook.

Código para leer emails de Outlook

Este es realmente el código que necesitamos para obtener los correos de la bandeja de entrada del correo predeterminado.

'Creado por Practicaprende.com

Sub readEmail()
    Dim row As Integer
    row = 2
    
    Dim ol As Outlook.Application
    Set ol = New Outlook.Application
    
    Dim olNS As Outlook.Namespace
    Set olNS = ol.GetNamespace("MAPI")
    
    Dim fldr As Outlook.MAPIFolder
    Set fldr = olNS.GetDefaultFolder(olFolderInbox)
    
    Dim olMail As Outlook.MailItem
    For Each olMail In fldr.Items
        Cells(row, 1) = olMail.ReceivedTime
        Cells(row, 2) = olMail.Subject
        Cells(row, 3) = olMail.SenderName
        Cells(row, 4) = olMail.SenderEmailAddress
        Cells(row, 5) = olMail.Attachments.Count
        row = row + 1
    Next
End Sub

Es un código corto, pero a la vez muy útil que te puede servir mucho, es increíble todo lo que se puede hacer con código en Excel.

Como obtener correos desde otro correo configurado

Esta es parte de la solicitud, y básicamente se necesita establecer desde cual correo/email quieres obtener los correos y desde qué carpeta.

Entonces para eso vamos a modificar una línea del anterior código.

Sub readEmail()
    '... El resto de código 

    Set fldr = olNS.Folders(1) ' Este número indica el correo/email configurado del cual queremos extraer los correos

    '... El resto de código 

End Sub

Otra forma es especificar desde qué correo/email queremos obtener los correos,

Sub readEmail()
    '... El resto de código 

    Set fldr = olNS.Folders("contacto@practicaprende.com")' Este es el correo/email del cual queremos extraer los correos

    '... El resto de código 

End Sub

Por ejemplo tenemos la siguiente estructura de carpetas en Outlook, y queremos extraer los emails de la carpeta «Universidad»

Para esto entonces debemos utilizar el siguiente código:

'Creado por Practicaprende.com

Sub readEmail()
    Dim row As Integer
    row = 2
    
    Dim ol As Outlook.Application
    Set ol = New Outlook.Application
    
    Dim olNS As Outlook.Namespace
    Set olNS = ol.GetNamespace("MAPI")
    
    Dim fldr As Outlook.MAPIFolder
    Set fldr = olNS.Folders("contacto@practicaprende.com").Folders("Bandeja de entrada").Folders("Universidad")
    
    Dim olMail As Outlook.MailItem
    For Each olMail In fldr.Items
        Cells(row, 1) = olMail.ReceivedTime
        Cells(row, 2) = olMail.Subject
        Cells(row, 3) = olMail.SenderName
        Cells(row, 4) = olMail.SenderEmailAddress
        Cells(row, 5) = olMail.Attachments.Count
        row = row + 1
    Next
End Sub

Con esto puedes obtener cualquier carpeta de cualquier correo configurado en Outlook.

Espero sea de tu ayuda!

CONCLUSION

Ya aprendiste como Leer emails de Outlook desde Excel, ya te queda a ti personalizarlo para adaptarlo a tus necesidades.

Si quieres ver mas ejemplos que tenemos visita nuestro Blog

Espero te guste!

Saludos!


DESCARGAR EJEMPLO

En el siguiente link puedes descargar el archivo utilizado, Si tienes alguna duda o sugerencia para mejorar el código, simplemente comenta en el formulario de Contacto

Para descargar el archivo utilizado es necesario estar registrado. Acá Puedes Registrarte y si ya estas registrado puedes ingresar a tu cuenta de usuario.

Deja un comentario