2010-07-28 47 views
2

確定的郵件項目創建動態自定義上下文菜單是否可以通過檢查項目內容將不同項目添加到郵件項目自定義上下文菜單?
例如,如果主題行包含「重要」,則僅添加該項目。VSTO Outlook:爲主題行

回答

2

這似乎工作。

void Application_ItemContextMenuDisplay(Office.CommandBar CommandBar, Outlook.Selection Selection) 
    { 
     foreach (Outlook.MailItem m in Selection) 
     { 
      if (m.Subject.Contains("IMPORTANT")) 
      { 
       DeliveryFailureButton(CommandBar, Selection); 
       break; 
      } 
     } 
    } 

    void DeliveryFailureButton(Office.CommandBar CommandBar, Outlook.Selection Selection) 
    { 
     Office.CommandBarButton btn = CommandBar.Controls.Add(
       Office.MsoControlType.msoControlButton, 
       missing, missing, missing, true) as 
       Office.CommandBarButton; 
     btn.Caption = "Move to IMPORTANT messages"; 

     btn.Click += (Office.CommandBarButton Ctrl, ref bool CancelDefault) => 
     { 
      string msg = "CRM Records\r\n"; 

      foreach (Outlook.MailItem item in Selection) 
      { 
       if (item is Outlook.MailItem) 
       { 
        var mitem = item as Outlook.MailItem; 
        msg += "\r\n" + MoveToImportant(mitem); 
       } 
      } 

      MessageBox.Show(msg); 

     }; 
    }