मैंने एक मैक्रो लिखा है जो उपयोगकर्ता कैलेंडर के माध्यम से पुनरावृत्त करता है और एक निश्चित मानदंड को भरने वाली प्रविष्टियों में संशोधन करता है।आउटलुक अपॉइंटमेंट आइटम्स के माध्यम से जल्दी से इटरेटिंग
समस्या यह है कि जब कैलेंडर बहुत बड़ा होता है, तो ऐसा करने में काफी समय लगता है। मैं नियुक्तियों को फ़िल्टर करने में सक्षम नहीं प्रतीत होता क्योंकि oAppointmentItems
प्रविष्टियों को स्टोर करने के लिए प्रतीत होता है - जो आवश्यक नहीं है जब वे शुरू होते हैं।
Dim oOL As New Outlook.Application
Dim oNS As Outlook.NameSpace
Dim oAppointments As Object
Dim oAppointmentItem As Outlook.AppointmentItem
Set oNS = oOL.GetNamespace("MAPI")
Set oAppointments = oNS.GetDefaultFolder(olFolderCalendar)
For Each oAppointmentItem In oAppointments.Items
DoEvents
' Something here
Next
Set oAppointmentItem = Nothing
Set oAppointments = Nothing
Set oNS = Nothing
Set oOL = Nothing
DoEvents
को हटाने (जो केवल इसका मतलब है कि आउटलुक उपयोगकर्ता के लिए बंद करने के लिए प्रकट होता है) की कमी वहाँ किसी भी तरह से है कि मैं इस लगाने से तेजी लाने के कर सकते हैं:
कोड मैं उपयोग कर रहा हूँ यह है कुछ प्रकार का फिल्टर? उदाहरण के लिए, भविष्य में नियुक्तियां जो शुरू होती हैं।
यह बिल्कुल था मैं आज के लिए क्या देख रहा था पर काम करने लगते हैं! इसने मुझे बहुत परेशानी बचाई है। एक बात जो मुझे नोटिस है, वह यह है कि मैं इसे डेट फ़िल्टर के साथ काम करने के लिए नहीं प्राप्त कर सकता हूं, और यह सही तिथि प्राप्त करना मुश्किल है (ऐसा लगता है कि वे दिनांक हैं या Outlook में दिनांक/समय हैं)। पसंद> दिनांक - 1 दिन और <तिथि केवल तारीख के साथ एक लौटाएगी, जबकि तिथि> तिथि और तिथि <दिनांक + 1 दिन दिनांक/समय – Jeff
के साथ आइटम वापस कर देगा VBA में प्रारंभिक बाध्यकारी का उपयोग करके, olRecItems को DIM'd कैसे किया जाना चाहिए? (आउटलुक। ???)। धन्यवाद .. –
@iDevlop Outlook के रूप में। MAPIFolder AFAIK। – Fionnuala