Итак, я смог решить свой вопрос.Я не уверен, почему мой код работал на 100% до сегодняшнего дня, но я сделал настройку, чтобы у меня был более совместимый синтаксис между датами Excel и датами Outlook.Ниже мой модифицированный код, который изменяет мой формат даты Excel, чтобы соответствовать форматам даты Outlook.Кроме того, вместо условий «ЕСЛИ» я решил ограничить свои olItems в пределах своего временного интервала и затем выполнить цикл для моих условий.
Dim olApp As Object
Dim olNS As Object
Dim myDate As Date
Dim olItems As Object
Dim olItem As Object
Dim olAttach As Object
Dim Date1 As String
Dim Date2 As String
Dim iAttachments As Integer
Date1 = Date & " " & TimeValue("6:00:00 am")
Date11 = Format(Date1, "ddddd h:nn AMPM") <----- Date to match Outlook format
Date2 = Date & " " & TimeValue("00:00:00 am")
Date22 = Format(Date2, "ddddd h:nn AMPM") <----- Date to match Outlook format
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
Err.Clear: On Error GoTo 0
If olApp Is Nothing Then
Set olApp = CreateObject("Outlook.Application")
End If
Set olNS = olApp.GetNamespace("MAPI")
Set olItems = olNS.GetDefaultFolder(olFolderInbox).Items.Restrict("[ReceivedTime] > """ & Date22 & """ and [ReceivedTime] < """ & Date11 & """") <----- Restricted my olItems to my specific range
For Each olItem In olItems
If InStr(olItem.Body, "Darth Vader") > 0 Then
iAttachments = olItem.Attachments.Count + iAttachments
Set olAttach = olItem.Attachments.Item(1)
On Error GoTo Err_Handler
olAttach.SaveAsFile "C:\Desktop\Automatic Outlook Downloads" & "\" & olAttach.Filename
Set olAttach = Nothing
Set olItem = Nothing
If iAttachments = 4 Then Exit For
End If
Next
Set olAttach = Nothing
Set olItem = Nothing
Set olApp = Nothing
Set olNS = Nothing
Set olItems = Nothing
Exit Sub