2012-03-13 24 views
2

Outlook 2007の共有メールボックスのポップアップメールアラートを作成しようとしています。 次のコードは機能しません。どうして?あなたのイベントハンドラは、ガベージコレクションを生き残るためには共有メールボックスOutlook 2007の新しいメール警告

private Microsoft.Office.Interop.Outlook._Explorers Explorers; 
private Microsoft.Office.Interop.Outlook.NameSpace outlookNamespace; 
private Microsoft.Office.Interop.Outlook.MAPIFolder mFolder; 
private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{ 
    Explorers = this.Application.Explorers;   
    outlookNamespace = this.Application.GetNamespace("MAPI");   
    mFolder = outlookNamespace.Folders["Mailbox -AdditionalMailBox"].Folders["Inbox"]; 
    mFolder.Application.NewMailEx += new ApplicationEvents_11_NewMailExEventHandler(Application_NewMailEx); 
} 
private void Application_NewMailEx(string EntryID) 
{ 
    MessageBox.Show("New MailReceived!"); 
} 

答えて

0

- あなたのイベントを含むオブジェクトは、プライベートメンバ変数としてそれらを追加することによって生かされていることを確認する必要があります。 Applicationプライベートクラス変数を追加してみてください。あなたのイベント購読はうまくいくはずです。詳細はrelated SO postを参照してください。

private Microsoft.Office.Interop.Outlook.Application application; 
private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{ 
    application = this.Application; 
    Explorers = application.Explorers;   
    // ...   
    application.NewMailEx += new ApplicationEvents_11_NewMailExEventHandler(Application_NewMailEx); 
} 

あなたが発見し、他の問題があることプライマリメールボックスのNewMailExのみ火災 - confirmed in this forum postないよう、二次のメールボックス。 Folder.ItemsイベントItemAddに依存する必要があります。

private Outlook.Items mFolderItems; 
private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{ 
    // ... 
    mFolderItems = mFolder.Items; // avoid GC for ItemAdd event 
    mFolderItems.ItemAdd += new ItemsEvents_ItemAddEventHandler(mFolder_ItemAdd); 
    // ... 
}   
private void mFolder_ItemAdd(object addedItem) 
{ 
    Outlook.MailItem newItem = addedItem as Outlook.MailItem; 
} 
+0

アプリケーションは、プライマリメールボックスの新しいメールのみを購読します。追加のメールボックスでは機能しませんでした。 –

+0

@ShnerkaZoid - あなたは正しい - 'NewEmailEx'はプライマリメールボックスでのみ動作します。上記の編集を参照してください。 – SliverNinja

+0

それは働いた!ありがとうございました! –

関連する問題