2016-12-16 62 views
0

我的應用程序針對Office 2010及更高版本。我正在嘗試編寫一個自動處理傳入電子郵件的函數。但是,我發現只有在默認電子郵件帳戶中收到MailItem時纔會觸發該事件。如果用戶在Outlook中添加了多個電子郵件帳戶,我希望所有這些帳戶都指向相同的事件處理程序(如果可能)。檢索特定Outlook帳戶的文件夾

這裏是我到目前爲止有:

var inbox = _outlookApplication.Session.GetDefaultFolder(OlDefaultFolders.olFolderInbox); 
items = inbox.Items; 

if (inbox != null) 
      items.ItemAdd += new ItemsEvents_ItemAddEventHandler(OnIncomingEmail); 

我試圖通過_outlookApplication.Session.Accounts循環對象,但無法找到它可以讓我找回的文件夾特定帳戶的方法。

任何幫助將不勝感激!

+1

請參閱[此問題](http://stackoverflow.com/questions/33953386/vba-to-select-mailbox-if-an-account-has-multiple-mailboxs)其中有VBA代碼來獲取該文件夾每個帳戶 - 它可能會有所幫助。 – stuartd

回答

1

而不是使用Namespace.GetDefaultFolder,通過Namespace.Stores收集並調用Store.GetDefaultFolder。準備好處理錯誤,因爲某些商店(特別是如果它們不是默認商店的話)可能沒有全部或至少一些默認文件夾。