Python 筛选在当前日期(今天)发送的outlook电子邮件

Python 筛选在当前日期(今天)发送的outlook电子邮件,python,vba,email,outlook,automation,Python,Vba,Email,Outlook,Automation,我想下载Outlook收件箱中的特定附件。我想根据主题和发送日期过滤这些电子邮件 这就是我正在做的: Outlook = win32com.client.Dispatch("Outlook.Application") olNs = Outlook.GetNamespace("MAPI") Inbox = olNs.GetDefaultFolder(6) Filter = "[Subject] = 'Important Report' A

我想下载Outlook收件箱中的特定附件。我想根据主题和发送日期过滤这些电子邮件

这就是我正在做的:

 Outlook = win32com.client.Dispatch("Outlook.Application")
 olNs = Outlook.GetNamespace("MAPI")
 Inbox = olNs.GetDefaultFolder(6)

 Filter = "[Subject] = 'Important Report' And [SenderEmailAddress] = 'data@cool.com' And [SentOn] 
 > '9/26/2020 08:00 AM'"


 Items = Inbox.Items.Restrict(Filter)
 Item = Items.GetFirst()

 for attachment in Item.Attachments:
 print(attachment.FileName)
 attachment.SaveAsFile(r"C:\Users\lynnette\Desktop\file.xls")
目前,它正在使用[SentOn]进行过滤,然而,我使用的是一个特定的日期。我想根据当前日期进行筛选。我已对项目进行了研究。限制,但找不到当前日期筛选器


非常感谢您提供的任何帮助

我相信您希望做到以下三点之一:

今天:

Items.Restrict("@SQL=%today(\"urn:schemas:httpmail:datereceived\")%")
自确切日期起:

Items.Restrict("@SQL=(\"urn:schemas:httpmail:datereceived\" >= '9/26/2020 00:00')")
日期之间:

Items.Restrict("@SQL=(\"urn:schemas:httpmail:datereceived\" >= '9/26/2020 00:00' AND \"urn:schemas:httpmail:datereceived\" <= '9/27/2020 23:59')

谢谢@hiichaki,我想知道如何在我上面的过滤器代码中加入这一点?我需要创建一个新变量吗?或者我可以把它放在“Items”变量中,与我的当前过滤器一起使用吗?谢谢,所以让Items变量包含两个不同的项目是可以的?我需要研究VBA,因为我还在学习。首先,您需要为
过滤器
使用不同的变量名,它是一个保留的
VBA
关键字。顺便说一句,我添加了
VBA
标记,因为我认为这是
VBA
代码。这已经给了你提示,你只需要将它与我在帖子中展示的现有主题过滤器相结合。好的,我会研究并完成这个。Thanks@L42,你能把你的帖子链接起来吗,或者告诉我搜索它的标题吗?谢谢你,这是最棒的
Items = Inbox.Items.Restrict(Filter)
Items = Items.Restrict("@SQL=%today(\"urn:schemas:httpmail:datereceived\")%")
Item = Items.GetFirst()