您需要在聯機模式下打開文件夾並檢索其內容數量。在擴展MAPI(C++或Delphi)中,調用IMAPISession::OpenEntry
時需要使用MAPI_NO_CACHE
位 - 您可以在OutlookSpy中使用該位:單擊IMAPIFolder按鈕,選擇PR_ENTRYID屬性,右鍵單擊,選擇IMAPISession :: OpenEntry,確保檢查MAPI_NO_CACHE 。
在++比C等語言或Delphi情況下,你可以使用Redemption - 它的GetFolderFromID
,GetMessageFromID
版本等放行由IMAPISession::OpenEntry
使用標誌。
MAPI_NO_CACHE = &H0200
MAPI_BEST_ACCESS = &H0010
set OomFolder = Application.ActiveExplorer.CurrentFolder
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set RdoFolder = Session.GetFolderFromID(OomFolder.EntryID, , MAPI_NO_CACHE Or MAPI_BEST_ACCESS)
MsgBox "Number of items in the online folder: " & RdoFolder.Items.Count
感謝您的支持。我將無法測試它,所以我不會將其標記爲答案。你的回答啓發了我的解決方法:我只需在在線模式下再次設置同一個電子郵件帳戶,然後使用上面的代碼計算每個文件夾中的郵件(這與服務器上的郵件完全相同)。然後我可以將它與離線帳戶中的本地文件夾進行比較。這不是完美的解決方案,但它會完成這項工作。 – Edgar