如何在包含电子邮件的文件夹中获取最新日期?
VBA-Outlook中是否有方法可以获取电子邮件的最新日期?
例如:我在文件夹中有三封邮件,内容相同但接收时间不同。如何从这三个电子邮件中获取最新的电子邮件?
答案 0 :(得分:4)
您可以按降序对Items
集合进行排序:
Set colItems = objFolder.Items
colItems.Sort "ReceivedTime", True
使用GetFirst方法检索第一个项目。此项目的日期是文件夹中的最新日期。
为空文件夹和意外类型的项添加一些错误检查。
答案 1 :(得分:3)
我就是这样做的
Sub Sample()
Dim objNS As NameSpace
Dim objFolder As MAPIFolder
Dim myItems As Items
Dim myItem As MailItem
Set objNS = GetNamespace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderInbox)
Set myItems = objFolder.Items
myItems.Sort "ReceivedTime", True
If myItems.Count > 0 Then
Set myItem = myItems.Item(1)
Debug.Print myItem.ReceivedTime
Else
Msgbox "This folder doesn't have any emails/items"
End If
End Sub