recipients personalized multiple mass mail exchange emails batch excel vba outlook

personalized - Utilizando eventos de Outlook desde Excel



outlook mass email (1)

Puede hacer esto, pero necesita usar un módulo de Clase en Excel para lograrlo.

Módulo de clase: "myOutlook" o llámalo como quieras.

Private WithEvents myItems As Outlook.Items Private Sub Class_Initialize() Dim oNS As Namespace Dim myOL As Outlook.Application Set myOL = New Outlook.Application Set oNS = myOL.GetNamespace("MAPI") Set myItems = oNS.GetDefaultFolder(olFolderInbox).Items ''Set this equal to the folder you wish to use this on End Sub Private Sub myItems_ItemAdd(ByVal Item As Object) Debug.Print "Got_EMAIL!!!" End Sub

Luego, en un módulo regular haz esto:

Dim myOutlook As myOutlook Sub TestSub() Set myOutlook = New myOutlook End Sub

Una vez que inicialice la instancia de su clase definida por el usuario, los eventos serán atrapados por ella.

Obviamente, deberá configurar el objeto "myItems" para que esté vinculado a la bandeja de entrada correcta. Para mí, solo está vinculado a mi buzón predeterminado, que fue más fácil de probar.

Estoy intentando utilizar el enlace de MSDN del evento "ItemAdd" aquí desde el modelo de objetos de Outlook en una macro de Excel; sin embargo, no he podido encontrar una forma de utilizar eventos desde fuera de Excel.

Mi caso de uso previsto es supervisar los elementos recibidos en un buzón compartido y registrar su recepción. Actualmente estoy ejecutando un ciclo en un temporizador que busca nuevos correos electrónicos, sin embargo, prefiero simplemente iniciar sesión cada vez que un evento se active si es posible.

Desafortunadamente, no puedo ejecutar macros desde Outlook directamente, por lo que tengo restricciones para acceder al Modelo de objetos de Outlook desde otras aplicaciones de Office.