2013-05-22 10 views
10

ओकी के लिए एकाधिक प्राप्तकर्ताओं को कैसे जोड़ें, इसलिए मैं Outlook .msg टेम्पलेट्स पर काम कर रहा हूं। उन्हें प्रोग्रामिंग के रूप में खोलना, मेरे डीबी में क्या है इसके आधार पर मूल्य डालना।mailitem.cc फ़ील्ड C#

पूर्व। मैं क्या नीचे विशेष रूप से जब मैं एक पाश में यह कर रहा हूँ कर जब मैं "प्रति" फ़ील्ड में एकाधिक reciepients जोड़ने के लिए, बजाय निम्नलिखित के रूप में करने का,

mailitem.To = a + ";" + b + ";" + c; 

चाहते हैं, जो सरल है,।

mailitem.Recipients.add("a"); 
    mailitem.Recipients.add("b"); 
    mailitem.Recipients.add("c"); 

मेरे समस्या है, मैं भी "CC" क्षेत्र और समारोह से अधिक प्राप्तकर्ताओं को जोड़ने के लिए ऊपर केवल "प्रति" फ़ील्ड के लिए काम करता है चाहता हूँ। स्ट्रिंग मैनिप्ल्यूशन किए बिना मैं "सीसी" फ़ील्ड में एकाधिक प्राप्तकर्ता कैसे जोड़ सकता हूं।

सामान्य रूप से मैं बहुत तरह सीसी, interop.outlook का उपयोग कर

mailitem.CC = a + ";" + b + ";" + c; 

im और टेम्पलेट से एक mailitem बनाने प्राप्तकर्ताओं जोड़ना होगा।

अग्रिम धन्यवाद।

उत्तर

11

मान लीजिए कि यदि आपके पास प्राप्तकर्ताओं के दो List हैं, तो आप ऐसा कर सकते हैं।

संपादित करें: पूर्ण कोड शामिल।

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

Recipients oRecips = oMsg.Recipients; 
List<string> sTORecipsList = new List<string>(); 
List<string> sCCRecipsList = new List<string>(); 

sTORecipsList.Add("ToRecipient1"); 

sCCRecipsList.Add("CCRecipient1"); 
sCCRecipsList.Add("CCRecipient2"); 
sCCRecipsList.Add("CCRecipient3"); 

Recipients oRecips = oMsg.Recipients; 

foreach (string t in sTORecipsList) 
{ 
    Recipient oTORecip = oRecips.Add(t); 
    oTORecip.Type = (int) OlMailRecipientType.olTo; 
    oTORecip.Resolve(); 
} 

foreach (string t in sCCRecipsList) 
{ 
    Recipient oCCRecip = oRecips.Add(t); 
    oCCRecip.Type = (int) OlMailRecipientType.olCC; 
    oCCRecip.Resolve(); 
} 

oMsg.HTMLBody = "Test Body"; 
oMsg.Subject = "Test Subject"; 
oMsg.Send(); 
+0

इसे काम नहीं कर सकता है, क्या आपको यकीन है कि इसे Outlook 2007/Office 2007 के साथ काम करना चाहिए? – Mana

+0

@ माना: आप जिस समस्या का सामना कर रहे हैं? –

+0

क्या आप इस लाइन को समझा सकते हैं? प्राप्तकर्ता oCCRecip = oRecips.Add (p_sUserID); कहां है या p_sUserID .add() में क्या कर रहा है? – Mana

3

प्राप्तकर्ता संपत्ति का उपयोग here (दूसरे उदाहरण के लिए देखें) के रूप में करें। आप संग्रह में बहुत से लोगों को जोड़ सकते हैं और फिर गंतव्य प्रकार को to से CC में बदल सकते हैं।

+0

कि उदाहरण VBA के लिए है, सी # में im प्रोग्रामिंग, और यहां तक ​​कि अगर मैं VBA में प्रोग्रामिंग कर रहे थे, CreateItem im के बाद से काम नहीं होगा office2007 – Mana

+0

का उपयोग कर मैंने सोचा था कि वे एक ही एपीआई था। लेकिन आप जानते हैं कि, मुझे रमेश के जवाब को मुझसे बेहतर पसंद है। – Renan

+1

CreateItem Outlook के सभी संस्करणों में केवल fien काम करता है। –