2011-03-14 19 views
5

मैं सी # का उपयोग कर Office 2007 के लिए एक एडिन बना रहा हूं। जब भी उपयोगकर्ता इनबॉक्स फलक के भीतर ईमेल सूची से ईमेल पर क्लिक करता है तो यह ऐडिन एक नई फलक में ईमेल शीर्षलेख जानकारी प्रदर्शित करने के लिए ज़िम्मेदार है। अब मुझे यकीन नहीं है कि जब मैं किसी उपयोगकर्ता को ईमेल चुनता हूं और उस ईमेल हेडर जानकारी को पढ़ता हूं तो मुझे इनबॉक्स फलक पर माउस क्लिक ईवेंट कैसे प्राप्त होता है। कोई सहायक सूचक?जब कोई उपयोगकर्ता ईमेल का चयन करता है तो इनबॉक्स फलक पर माउस क्लिक ईवेंट कैसे प्राप्त करें

+6

यहाँ एक नज़र, हो सकता है यह मदद करता है: http://www.eggheadcafe.com/software/aspnet/34867978/event-for-email-message-select.aspx। आपको माउस क्लिक के बारे में परवाह नहीं करना चाहिए, लेकिन ईमेल की सूची में चयन परिवर्तन के बारे में नहीं। –

+0

धन्यवाद डैनियल, आपके द्वारा प्रदान किया गया लिंक उपयोगी था। –

+1

क्या इसे उत्तर के रूप में चिह्नित किया जाना चाहिए? – Rob

उत्तर

0

आप Microsoft V11.0 दृष्टिकोण वस्तु पुस्तकालय का उपयोग कर सकते हैं (संदर्भ जोड़ने) और फिर एक MAPI मेलबॉक्स क्वेरी:

http://geekswithblogs.net/TimH/archive/2006/05/26/79720.aspx या http://support.microsoft.com/kb/310258

MAPI या POP3 के साथ विनिमय इनबॉक्स तक पहुँचने के लिए कुछ आवश्यकताओं : C# MAPI to read exchange server inbox

अब, जो इनबॉक्स संदेश चयनित किया गया है प्राप्त करने के लिए, आप इस्तेमाल कर सकते हैं:

Outlook.Explorer explorer = null; 
explorer = outlookObj.ActiveExplorer(); 
      if (explorer.Selection.Count > 0) 
      { 
       var sel = explorer.Selection[1]; 
       if (sel is Microsoft.Office.Interop.Outlook.MailItem) 
       { 
        var item = sel as MSOutlook.MailItem; 
        MessageBox.Show("Selected letter: "+item.Body); 
       } 
      } 
0
private void ThisAddIn_Startup(object sender, System.EventArgs e) 
    { 

     this.Application.Inspectors.NewInspector += new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);   
    } 
void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector) 
     { 
      try 
      { 
       Outlook.MailItem tmpMailItem = (Outlook.MailItem)Inspector.CurrentItem; 
       if (tmpMailItem != null) 
       { 
        if (Inspector.CurrentItem is Outlook.MailItem) 
        { 
         tmpMailItem = (Outlook.MailItem)Inspector.CurrentItem; 
         string to= tmpMailItem.To; 
         string body = tmpMailItem.Body; 
        } 
       } 
      } 
      catch 
      { 

      } 
     }