Мне нужно проверить определенную папку, чтобы увидеть, существует ли электронное письмо с сегодняшней датой в этой папке. Никаких подробностей не требуется, только если полученной даты сегодня не существует, то что-то сделать. Приведенный ниже код перебирает электронные письма и заставляет vba отправить мне сообщение электронной почты, если существует электронное письмо с сегодняшней датой в качестве полученной даты, но я хочу, чтобы оно также отправляло мне электронное письмо, если результатов нет. Самое близкое, что я получил, - это получить шесть результатов, все из которых указывают на то, что почтовый элемент не существует (поскольку было 6 сообщений с датами, не совпадающими с сегодняшним днем ...). Я знаю, что ответ, скорее всего, смотрит прямо на меня ... не вижу ....
Спасибо.
For Each olMail In OlItems
'Cond #1 Received today?
If (Now() - olMail.ReceivedTime < 1) Then
'...Cond #2 ...and has specific string
If (InStr(1, olMail.Body, "L_Remittance_YYYYMMDD", 1) > 0) Then
'......'Cond #3 and Has attachment?
If olMail.Attachments.Count > 0 Then
'..Cond 4 ...and has data in results [ "0" evaluates to string not existing ] ?
If (InStr(1, olMail.Body, "No Data Available", 1) = 0) Then
'Cond 1-4 all true then save to drop location
For j = 1 To olMail.Attachments.Count
olMail.Attachments.Item(j).SaveAsFile strFolder &
olMail.Attachments.Item(j).FileName
''Loop through files in folder ie For Each o1Mail in OlItems
Next j
'Cond 4
End If
'Cond 3
End If
'Cond 2
End If
''Cond #1
End If
Next
'' If (Now() - olMail.ReceivedTime < 1) = "" Then
'' Call FailFile
'' Else
''Exit Sub
''End If
Set OlFolder = Nothing
Set OlItems = Nothing
Set olMail = Nothing
Set OlApp = Nothing
''NO DATA IN FILE AS PER EMAIL BODY
aFile = "H:\TEST_DROP\FileName_" & CurrentDate & ".csv"
If Len(Dir$(aFile)) = 0 Then
Call NoData
End If
''YES TO DATA IN FILE
aFile = "H:\TEST_DROP\Metlife_Remittance_Berkadia_" & CurrentDate & ".csv"
If Len(Dir$(aFile)) > 0 Then
Call Data
End If
End Sub