¿VBA en Outlook para obtener el estado "contestado" o "reenviado" de la conversación por correo electrónico?
Tengo una secuencia de comandos de VBA en Outlook que está diseñada para realizar un manejo automático del correo electrónico en función de cuándo se colocan los elementos en las carpetas. Funciona según lo previsto, pero estoy tratando de hacerlo un poco más inteligente para que el script pueda ver si el correo electrónico que se está colocando en la carpeta ha sido respondido o no.
Actualmente, en el momento en que se coloca un correo en la carpeta X, el script envía una respuesta automática al correo electrónico y luego marca el correo como no leído. Sin embargo, si un correo ya se ha marcado como "respondido", independientemente de si el script respondió al correo o si alguien envió una respuesta antes de colocar el correo en la carpeta X, quiero asegurarme de que el script NO envíe una respuesta simplemente marca el correo como no leído. ¿Es esto algo que se puede hacer leyendo las etiquetas de propiedades IMAP? Si es así, ¿qué etiqueta estoy buscando? He estado luchando para averiguar cómo lograr esto. Cualquier ayuda sería apreciada.
Para referencia, aquí está el script que tengo (con detalles de identificación eliminados):
Nota: Soy consciente de que tengo algunas variables declaradas pero no referenciadas. Voy a usar estos más tarde para otra cosa.
Option Explicit
'##############################################
'### all code for the ThisOutlookSession module
'### Module level Declarations
'expose the items in the target folder to events
Dim WithEvents ackSpamMsgs As Items
Dim WithEvents ackPhishMsgs As Items
Dim WithEvents fwdMsgs As Items
'###############################################
Private Sub Application_Startup()
'some startup code to set our "event-sensitive"
'items collection
Dim objNS As Outlook.NameSpace
Dim ackFolder As Folder
Dim compFolder As Folder
Set objNS = Application.GetNamespace("MAPI")
Set ackMsgs = objNS.Folders("Inbox").Folders("Folder X").Items
Set fwdMsgs = objNS.Folders("Inbox").Folders("Folder Y").Items
End Sub
'#################################################
'### this is the ItemAdd event code
Sub ackMsgs_ItemAdd(ByVal Item As Object)
'when a new item is added to our "watched folder"
'we can process it
Dim msg As MailItem
Set msg = Item.Reply
'This is where I want to check if the mail has been replied to, and skip the "with"
'below if it has been replied to.
With msg
.Subject = "RE: " & Item.Subject
.HTMLBody = "Body of email here"
.Send
Set msg.UnRead = True
End With
End Sub
Sub fwdMsgs_ItemAdd(ByVal Item As Object)
Dim msg As MailItem
Dim newMsg As MailItem
Set msg = Item.Forward
msg.Recipients.Add ("[email protected]")
msg.Send
End Sub
'#################################################
Private Sub Application_Quit()
Dim objNS As Outlook.NameSpace
Set ackMsgs = Nothing
Set fwdMsgs = Nothing
Set objNS = Nothing
End Sub