我有一段腳本,從一個Outlook收件箱抓住100名最近接收到的電子郵件。在沒有使用緩存Exchange模式的Outlook配置文件中,它可以正常工作,爲我們提供了最近的100封電子郵件。但是,如果Outlook配置文件啓用了緩存Exchange模式,兩年前我從一個看似隨機的時間點開始收到100封電子郵件。我如何使用VBScript從使用緩存Exchange模式配置文件100個最近的Outlook電子郵件?
Dim olApp As Outlook.Application, olNs As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
Dim olMail As Outlook.MailItem
Dim i As Long
Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set olFolder = olNs.GetDefaultFolder(olFolderInbox)
Set myItems = olFolder.Items
myItems.Sort "[ReceivedTime]", True
For i = 1 To 100
If TypeOf myItems(i) Is MailItem Then
Set olMail = myItems(i)
...
' do something with each email
...
End If
Next i
有沒有更好的辦法做到這一點,將獲得100個最近的電子郵件緩存Exchange模式是否啓用或不?
謝謝您的回答,但請原諒我,我有點困惑。也許我沒有解釋得很好。他們的郵箱顯示三四年的電子郵件。而我想訪問的總是100個最近的電子郵件。但是該腳本從2015年開始隨機返回100封電子郵件。我認爲這與存儲在PST文件中的內容和OST文件有關。就像Outlook只能回覆PST文件中的內容。 –
好的,我明白了。我無法解釋你所看到的行爲; AFAIK它應該返回最新的可用項目時按日期降序排序。順便說一句,pst文件和一個ost之間沒有關係;後者從不用於Exchange帳戶(除非它是傳遞文件夾,這是不尋常的)。 –