Ограничить элементы в папке только электронными письмами (и получены после определенной даты) - PullRequest
0 голосов
/ 08 февраля 2019

Я нашел код VBA ( здесь ) для загрузки вложений из всех электронных писем в папке Outlook.

Я хотел бы загрузить вложения из электронных писем, которые были получены после определенной даты.Я попробовал метод Restrict, но получил следующую ошибку:

Ошибка времени выполнения 13:
Несоответствие типов

Код:

Dim msg As Outlook.MailItem
Dim fo As Outlook.Folder
Dim at As Outlook.Attachment
Dim cell1 As String
Dim sFilter As String

cell1 = Range("O2").Value 'Cell O2 has the following text in it: .xls

Set fo = Outlook.GetNamespace("MAPI").Folders("Winter").Folders("Inbox")
sFilter = "[Inbox.Items] > '" & Format("7/2/19 1:00am", "ddddd h:nn AMPM") & "'"
Set fo = fo.Items.Restrict(sFilter) 

Dim lr As Integer

For Each msg In fo.Items 'Line where debugger points to
    lr = Application.WorksheetFunction.CountA(sh.Range("A:A"))

    sh.Range("A" & lr + 1).Value = msg.Subject
    sh.Range("B" & lr + 1).Value = msg.Attachments.Count

    For Each at In msg.Attachments
       If VBA.InStr(at.Filename, cell1) > 0 Then
            at.SaveAsFile sh.Range("F1").Value & "\" & lr & ". " & at.Filename
       End If
    Next

Next

MsgBox "Reports have been downloaded successfully"

End Sub

Я пытался изменить строку фильтра, но безуспешно.

...