Excel 仅将文件夹中的项目限制为电子邮件(并在特定日期后接收)

Excel 仅将文件夹中的项目限制为电子邮件(并在特定日期后接收),excel,vba,outlook,Excel,Vba,Outlook,我发现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

我发现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

我试图更改筛选器字符串,但没有成功。

不要忘记您的
Set
语句。例如,
Set fo=
@BrianMStafford谢谢!VBA现在似乎指向带有“for”循环的行。我认为VBA对我定义/调用电子邮件项目的方式不满意。
Restrict
返回
items
而不是
文件夹
,因此这可能是问题所在。您是否可以尝试删除行
Set fo=fo.items.Restrict(sFilter)
,并将fo.items中每个msg的
行替换为fo.items.Restrict(sFilter)中每个msg的
?按接收日期筛选。检查项目是否为邮件项目不要忘记您的
Set
语句。例如,
Set fo=
@BrianMStafford谢谢!VBA现在似乎指向带有“for”循环的行。我认为VBA对我定义/调用电子邮件项目的方式不满意。
Restrict
返回
items
而不是
文件夹
,因此这可能是问题所在。您是否可以尝试删除行
Set fo=fo.items.Restrict(sFilter)
,并将fo.items中每个msg的
行替换为fo.items.Restrict(sFilter)中每个msg的
?按接收日期筛选。检查项目是否为邮件项目