获取文件夹中的最新电子邮件日期

时间:2015-09-09 06:31:29

标签: outlook outlook-vba

如何在包含电子邮件的文件夹中获取最新日期?

VBA-Outlook中是否有方法可以获取电子邮件的最新日期?

例如:我在文件夹中有三封邮件,内容相同但接收时间不同。如何从这三个电子邮件中获取最新的电子邮件?

2 个答案:

答案 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