Ежедневно я получаю тонны электронных писем, максимум из которых нужно проработать, а некоторые из них являются последующими.Я использую помеченный режим для отслеживания важных писем и ответов на них, а также для очистки флагов, и иногда я забываю, поэтому мне приходится переходить к отправленному элементу, искать по строке темы письма и предпринимать соответствующие действия.
Я ищу код, который поможет мне в: - 1.Macro будет перебирать все помеченные письма в папке входящих сообщений.
2. Затем он будет проверять отправленные вовремя (время получения письма в папке входящих сообщений).)
3.После этого он будет проверять отправленные элементы на предмет того, был ли получен ответ (re: Subject) или переадресован (fw: subject), а также время отправки.
4.Есливремя отправки превышает> полученное время (из отмеченных писем), тогда msgbox : - На электронное письмо было дано сообщение , в противном случае оно выдаст сообщение msgbox: - Электронная почта не получила ответа, вы хотите ответить?, , если да, то он ответит на существующее письмо с функцией записи.
Я написал код, яОн работает, но я не получаю ни ответа, ни всплывающих сообщений, ни исправления ошибок. Ваш ответ будет высоко оценен: -
Sub trial()
On Error Resume Next
Dim objfolder As Outlook.MAPIFolder
Dim objfolder2 As Outlook.MAPIFolder
Dim objfolder2 As Outlook.MAPIFolder
Dim objfolder1 As Outlook.MAPIFolder
Dim objns As Outlook.NameSpace`Dim objitem As Outlook.MailItem`
Dim objitem1 As Outlook.MailItem
Dim objvariant As Variant
Dim objvariant1 As Variant
Dim obsubject As Variant
Dim obsubject1 As Variant
Dim sendtime As Variant
Dim sendtime1 As Variant
Dim obfollowupmail As Outlook.MailItem
Dim strpromt As Variant
Dim nresponse As Integer
Set objns = Outlook.GetNamespace("MAPI")
'declaring inbox
Set objinbox = objns.GetDefaultFolder(olFolderInbox)
'declaring sent
Set objfolder1 = objns.GetDefaultFolder(olFolderSentMail)
For Each objitem In objinbox
If objinbox.DefaultItemType = olMailItem Then
If objitem.Class = olMail Then
If objitem = IsMarkedAsTask Then
Set objvaraiant = objinbox.Items
Set obsubject = LCase(objvariant.Subject)
Set sendtime = objvariant.SentOn
obsubject1 = "re: &subject"
For Each obsubject1 In objfolder1
Set objvariant1 = objfolder1.Items
Set sendtime1 = obsubject1.SentOn
If sendtime1 > sendtime Then
MsgBox ("Message has been replied for" & obsubject)
Else
strpromt = "you haven't received the reply of" & obsubject
nresponse = MsgBox(vbYesNo + vbQuestion, "Confirm to send a follow up email?")
If nresponse = vbYes Then
Set obfollowupmail = Application.CreateItem(olMailItem)
With obfollowupmail
.Display
Set objitem = Nothing
Set obfolder = Nothing
Set objinbox = Nothing
Set objns = Nothing
End With
End If
End If
Next
End If
End If
End If
Next
End Sub