如何按日期对电子邮件进行排序并打开最新的电子邮件?

big*_*yan 2 email vba outlook-vba

我想知道是否有办法按日期对电子邮件进行排序,然后打开找到的最新电子邮件.

我正在尝试搜索Body内部具有唯一标记的电子邮件.为了避免重复的电子邮件具有相同的标签,我必须按日期对这些电子邮件进行排序,并打开最新的电子邮件,以便我可以回复它.

Eug*_*iev 5

您需要在ReceivedTime属性上对电子邮件进行排序,该属性返回一个日期,指示收到项目的日期和时间.

 Sub SortByDate() 
  Dim myNameSpace As Outlook.NameSpace 
  Dim myFolder As Outlook.Folder 
  Dim myItem As Outlook.MailItem 
  Dim myItems As Outlook.Items 

  Set myNameSpace = Application.GetNamespace("MAPI") 
  Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox) 
  Set myItems = myFolder.Items 
  myItems.Sort "[ReceivedTime]"
  For Each myItem In myItems 
   MsgBox myItem.Subject & " ---- " & myItem.ReceivedTime
  Next myItem 
 End Sub
Run Code Online (Sandbox Code Playgroud)