2013-06-18 19 views
5

मैं ईमेल खींच सकता हूं, उनके माध्यम से चल सकता हूं, उन्हें पढ़ने के रूप में चिह्नित कर सकता हूं, यहां तक ​​कि सॉर्ट भी कर सकता हूं। हालांकि, जब मैंने ReceivedTime द्वारा प्रतिबंधित करने का प्रयास किया, तो ऐसा लगता है कि यह काम नहीं कर रहा है। मुझे कुछ भी वापस नहीं मिलता है, इससे कोई फर्क नहीं पड़ता कि मैं किस दिनांक/समय में डालता हूं। मुझे पता है कि जब मैं प्रतिबंधित हटा देता हूं तो रिसीवटाइम सॉर्ट कार्यों के आधार पर मान्य है। कोई सुझाव?Microsoft.Office.Interop.Outlook.Items.Restrict - सही ढंग से काम नहीं कर रहा है

Application app = new Application(); 
NameSpace outlookNs = app.GetNamespace("MAPI"); 

Microsoft.Office.Interop.Outlook.Folders folders = outlookNs.Folders[ohOptions.PSTName].Folders 
Microsoft.Office.Interop.Outlook.Items items = folders["Inbox"].Items; 

DateTime dt = DateTime.Now.Subtract(new TimeSpan(1,0,0)); 
items = items.Restrict("[ReceivedTime] > '" + dt.ToString("MM/dd/yyyy hh:mm:ss tt") + "'"); 

items.Sort("[ReceivedTime]", OlSortOrder.olAscending); 

foreach (MailItem item in items) 
{ 
    String from = item.SenderEmailAddress; 
} 

उत्तर

9

समस्या मिली। केवल तीन दिन लग गए क्योंकि ऐसा कुछ भी प्रतीत नहीं होता है जो इन तारीखों/समय के लिए प्रारूपण का उल्लेख करता है। ऐसा लगता है कि यह सेकंड या एएम/पीएम पसंद नहीं है। सैन्य समय का उपयोग करना और सेकंड को अलग करना इसे सही तरीके से काम करने की अनुमति देता है।

items = items.Restrict("[ReceivedTime] > '" + dt.ToString("MM/dd/yyyy HH:mm") + "'"); 
+1

इस सटीक रेखा का उपयोग करना और यह मेरे लिए काम नहीं कर रहा है। काश वे इस दस्तावेज़ को बेहतर तरीके से दस्तावेज करेंगे, बस डेट प्रारूप ढूंढना इतना दर्द है। – Joe

+0

यह आलेख बस DateTime.ToString ("g") का उपयोग करता है जो मेरे लिए भी काम करता है। https://msdn.microsoft.com/en-us/library/office/gg619398.aspx –

0

dd नहीं/माह/वर्ष यकीन है कि वर्तमान स्थान दिनांक स्वरूप वास्तव में एम एम/dd/yyyy है,।

+0

जांच की गई और समस्या नहीं है। – Switch

संबंधित मुद्दे