VBA в Outlook, чтобы получить «отвеченный» или «переадресованный» статус электронной почты?
У меня есть сценарий VBA в Outlook, который предназначен для автоматической обработки электронной почты в зависимости от того, когда элементы помещены в папки. Это работает как задумано, но яЯ пытаюсь сделать его немного более интеллектуальным, чтобы скрипт мог видеть, был ли получен ответ на электронное письмо, помещенное в папку.
В настоящее время, когда сообщение помещается в папку X, скрипт отправляет автоматический ответ на письмо, а затем помечает письмо как непрочитанное. Однако, если письмо уже помечено как "ответил»независимо от того, ответил ли скрипт на письмо или кто-то отправил ответ до помещения письма в папку X, я хочу убедиться, что скрипт НЕ отправляет ответ, а просто помечает письмо как непрочитанное. Это то, чтоможно сделать, читая теги свойств IMAP? Если да, то какой тег я ищу? Я'Мы изо всех сил пытались выяснить, как этого добиться. Любая помощь будет оценена.
Для справки, здесьУ меня есть сценарий (с удалением идентифицирующих деталей):
Примечание. Мне известно, что у меня есть некоторые объявленные переменные, но на них нет ссылок. Я'Я собираюсь использовать их позже для чего-то другого.
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