2012-09-11 39 views
10

के साथ Outlook की नई मेल विंडो को कैसे खोलें, जब कोई उपयोगकर्ता मेरे एप्लिकेशन में कुछ बटन या लिंक क्लिक करता है तो मुझे एक प्रीपॉप्टेड अनुलग्नक के साथ एक नई ईमेल विंडो खोलनी होगी।प्रीपॉप्टेड अनुलग्नक

+1

[आपने क्या प्रयास किया है?] (Http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

उत्तर

3

आप दृष्टिकोण

using Outlook = Microsoft.Office.Interop.Outlook; 

Outlook.MailItem mail = Application.CreateItem(
     Outlook.OlItemType.olMailItem) as Outlook.MailItem; 
    mail.Subject = "Quarterly Sales Report FY06 Q4"; 
    Outlook.AddressEntry currentUser = 
     Application.Session.CurrentUser.AddressEntry; 
    if (currentUser.Type == "EX") 
    { 
     Outlook.ExchangeUser manager = 
      currentUser.GetExchangeUser().GetExchangeUserManager(); 
     // Add recipient using display name, alias, or smtp address 
     mail.Recipients.Add(manager.PrimarySmtpAddress); 
     mail.Recipients.ResolveAll(); 
     mail.Attachments.Add(@"c:\sales reports\fy06q4.xlsx", 
      Outlook.OlAttachmentType.olByValue, Type.Missing, 
      Type.Missing); 
     mail.Send(); 
    } 

कार्य उदाहरण here पाया जा सकता है की इंटरॉप सेवाओं का उपयोग कर ऐसा कर सकते हैं ..

+4

तो ऐसा लगता है कि यह वास्तव में पृष्ठभूमि में मेल भेजने के दृष्टिकोण का उपयोग करता है । सवाल यह पूछ रहा है कि पहले से संलग्न संलग्नक के साथ नई संदेश विंडो को कैसे खोलें, जिससे मुझे इसे भेजने से पहले ईमेल में जोड़ने का विकल्प छोड़ दिया जा सके। – Sinaesthetic

+0

आखिरकार किसी के पास मेरी ही चिंता है। मैंने ग्रिड व्यू से अस्थायी एक्सेल बनाया। मैं केवल एक्सेल संलग्नक के साथ एक नया दृष्टिकोण संदेश खोलना चाहता हूं और उपयोगकर्ता को भेजें दबाएं। – Si8

15

पुराना सवाल है, लेकिन मैं यह भी इसलिए यहाँ इस में भाग गया एक कॉपी और पेस्ट समाधान है:

Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application(); 
Microsoft.Office.Interop.Outlook.MailItem oMsg = (Microsoft.Office.Interop.Outlook.MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem); 

oMsg.Subject = "subject something"; 
oMsg.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML; 
oMsg.HTMLBody = "text body"; //Here comes your body; 
oMsg.Attachments.Add("c:/temp/test.txt", Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing); 
oMsg.Display(false); //In order to display it in modal inspector change the argument to true 

आपको अपनी परियोजना में Microsoft.Office.Interop.Outlook घटक का संदर्भ जोड़ने की आवश्यकता होगी।

+1

मुझे लगता है कि यह उत्तर समाधान के रूप में चिह्नित किया जाना चाहिए। – Bronek

-2

मैं ऐसी स्थिति में आया जहां मुझे दृष्टिकोण में एक समाधान विकसित करने की आवश्यकता है जहां उपयोगकर्ता नए ईमेल बटन को हिट करता है और नई ईमेल विंडो आती है और उपयोगकर्ता फ़ाइल को खींचकर या अटैचमेंट सूची बॉक्स में डालने से अटैचमेंट डालने का प्रयास करता है इसे हां/नहीं के रूप में जोड़ने से पहले एक पुष्टिकरण। यदि उपयोगकर्ता हां हिट करता है तो यह अपेक्षित होता है क्योंकि अनुलग्नक जोड़ा जाता है यदि नहीं तो कुछ भी नहीं जोड़ा जाना चाहिए।