¿Cómo leer correos entrantes desde Outlook usando Excel?

Para leer correos entrantes de Outlook usando Excel, necesitarás utilizar VBA (Visual Basic for Applications), que te permitirá interactuar con Outlook desde Excel. Aquí tienes una guía básica para comenzar:

Sub LeerCorreosDeOutlook()

    ' Crea objetos para interactuar con Outlook
    Dim outlookApp As Outlook.Application
    Dim outlookNamespace As Outlook.Namespace
    Dim inbox As Outlook.MAPIFolder
    Dim mailItem As Object
    Dim i As Integer
    Dim fila As Integer

    ' Inicializar objetos
    Set outlookApp = New Outlook.Application
    Set outlookNamespace = outlookApp.GetNamespace("MAPI")
    Set inbox = outlookNamespace.GetDefaultFolder(olFolderInbox)

    ' Fila de inicio en la hoja de Excel
    fila = 1

    ' Iterar a través de los correos electrónicos en la bandeja de entrada
    For i = 1 To inbox.Items.Count
        Set mailItem = inbox.Items(i)

        ' Comprueba si es un mailItem (podría ser también una reunión u otro tipo de objeto)
        If TypeName(mailItem) = "MailItem" Then
            ' Escribe en la hoja de Excel
            With ThisWorkbook.Sheets(1)
                .Cells(fila, 1).Value = mailItem.Subject
                .Cells(fila, 2).Value = mailItem.ReceivedTime
                .Cells(fila, 3).Value = mailItem.SenderName
            End With
            fila = fila + 1
        End If
    Next i

    ' Liberar objetos
    Set mailItem = Nothing
    Set inbox = Nothing
    Set outlookNamespace = Nothing
    Set outlookApp = Nothing

    MsgBox "Correos leídos y copiadas a la hoja de Excel."

End Sub
  • Abrir el Editor de VBA en Excel:
    • Abre Excel y presiona `ALT + F11` para abrir el Editor de VBA.
  • Habilitar la referencia de Outlook:
    • En el Editor de VBA, ve a `Herramientas` > `Referencias`.
    • Busca «Microsoft Outlook xx.x Object Library» (donde «xx.x» es la versión que tienes instalada, por ejemplo, 16.0) y márcala. Luego, haz clic en «Aceptar».
  • Escribiendo el código VBA:
    • Crea un nuevo módulo: `Insertar` > `Módulo`.
    • Copia y pega el siguiente código como un ejemplo base. Este código simple recupera los primeros correos electrónicos de tu bandeja de entrada.
  • Ejecutar el código VBA:
    • En el Editor de VBA, selecciona el módulo donde pegaste el código.
    • Presiona `F5` para ejecutar el script.
  • Revisar los resultados:
    • Vuelve a la hoja de Excel y el asunto, la fecha de recepción y el nombre del remitente de cada correo se habrán copiado en las celdas.

Este es un script básico y puede requerir ajustes dependiendo de tus necesidades específicas, como filtrar por cierta fecha, remitente, o analizar solo un cierto número de correos. También ten en cuenta que este script puede no funcionar directamente si hay configuraciones de seguridad en tu sistema informático que limiten la interacción entre aplicaciones.

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