【发布时间】:2015-12-05 00:00:07
【问题描述】:
如何在包含电子邮件的文件夹中获取最新日期?
VBA-Outlook 中是否有获取电子邮件最新日期的方法?
例如:我在文件夹中有三封内容相同但接收时间不同的邮件。如何获取三人的最新邮件?
【问题讨论】:
如何在包含电子邮件的文件夹中获取最新日期?
VBA-Outlook 中是否有获取电子邮件最新日期的方法?
例如:我在文件夹中有三封内容相同但接收时间不同的邮件。如何获取三人的最新邮件?
【问题讨论】:
您可以按降序对Items 集合进行排序:
Set colItems = objFolder.Items
colItems.Sort "ReceivedTime", True
使用GetFirst 方法检索第一项。此项目的日期是文件夹中的最新日期。
为空文件夹和意外类型的项目添加一些错误检查。
【讨论】:
GetFirst
我会这样做
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
【讨论】:
1 你确定你设置了正确的文件夹 "Set objFolder = objNS.GetDefaultFolder(olFolderInbox)"
myItem