आउटलुक - फ़ोल्डर्स बनाने के लिए एक मैक्रो

मुद्दा

मुझे ईमेल बहुत बार मिलता है कि इश्यू-एक्सएक्सएक्सएक्स के प्रारूप में ईमेल के शीर्षक में एक "शब्द" है, जहां xxxx 4 अंकों की संख्या है। मैंने एक मेलबॉक्स फ़ोल्डर बनाया है जिसे समस्याएँ कहा जाता है। मुझे क्या करना चाहिए मैक्रो शीर्षक में प्रारूप मुद्दा- xxxx की एक स्ट्रिंग के साथ सभी ईमेल खोजने के लिए है और उसी नाम के साथ मुद्दों के तहत एक फ़ोल्डर की तलाश है। यदि कोई नहीं मिला है, तो इसे बनाया जाना चाहिए। ईमेल को फिर उस सबफ़ोल्डर में ले जाना चाहिए।

उदाहरण के लिए, मान लीजिए कि ईमेल में अंक 1234 आता है। मैक्रो, जब चलाया जाता है (टूलबार के माध्यम से उम्मीद है), उस ईमेल को ढूंढना चाहिए और समस्या फ़ोल्डर के तहत समस्या -1234 नामक फ़ोल्डर की जांच करें और अगर यह नहीं मिला तो इसे बनाएं। तब ईमेल को उस समस्या -1234 फ़ोल्डर में ले जाना चाहिए।

मैं वास्तव में अतीत में किसी भी मैक्रो प्रोग्रामिंग नहीं किया है, तो कैसे शुरू करने के लिए किसी भी मदद की सराहना की जाएगी। यदि आपके पास ऐसा मैक्रो है जो पहले से ही ऐसा करता है, और कोड साझा करना चाहता है, तो यह और भी बेहतर होगा।

उपाय

'फ़ाइल अपने स्वयं के सबफ़ोल्डर में प्रोजेक्ट करें

'ब्रायस पेपर द्वारा लिखित ( )

'एम या जेड प्रोजेक्ट नंबर के लिए खोजें विषय (4-6 अंकों के बीच होना चाहिए)

'और उन्हें प्रोजेक्ट सबफ़ोल्डर में फाइल करें (यदि कोई मौजूद नहीं है तो फ़ोल्डर बनाएँ)

'पी एंड आर परियोजनाओं के लिए समर्थन 2009-03-03 B.Pepper जोड़ा गया

2009-03-04 B.Pepper को खुश करने के लिए बिल जेड को खुश करने के लिए # जोड़ा गया समर्थन

यहाँ कोड है:

 आउटलुक के रूप में डिम विद ऑबजेंटबॉक्सइमेट्स। आउटलुक के रूप में। डिम ओब्जेक्ट डिसप्लेफ़िकेशन फ़ोल्डर। आउटलुक के रूप में। ObjDestinationFolder सेट करें = objInboxFolder.Parent.Folders ("प्रोजेक्ट्स") समाप्त उप 'अपने नियम को रोकने के लिए इस कोड को चलाएँ। सब स्टॉप रूल () सेट objInboxItems = कुछ भी नहीं उप 'यह कोड वास्तविक नियम है। निजी उप objInboxItems_ItemAdd (ByVal आइटम ऑब्जेक्ट के रूप में) आउटलुक के रूप में मंद objProjectFolder। स्ट्रिंग सेट objRegEx = CreateObject ("VBSE.RegExp") objRegEx.Global = ईमेल नंबर प्रोजेक्ट नंबर (M00) के लिए खोज के लिए स्ट्रिंग के रूप में। .Pattern = "([M, Z, P, R, #] d {4, 6})" colMatches = objRegEx.Execute (Item.Subject) सेट करें यदि colMatches.Count> 0 प्रत्येक myMatch के लिए colMatches में यदि बायाँ $ शेष (myMatch.Value, 1) = "#" तब फ़ोल्डरनाम = "M" और राइट $ ("00" और मिड $ (myMatch.Value, 2), 6) और फ़ोल्डर नाम = वाम $ (myMatch.Value, 1) & राइट $ ("00" और मिड $ (myMatch.Value, 2), 6) यदि FolderExists (objDestinationFolder, folderName) समाप्त होता है, तो फिर सेट करें objProjectFolder = objDestvFolder.Folders (फ़ोल्डर का नाम) सेट करें सेट करें यदि अंत। Item.Move objProjectFolder अगला अंत यदि सेट करें objProjectFolder = कुछ भी नहीं उप सबंधी फ़ोल्डर FolderExists (MAPIFolder के रूप में पेरेंट फोल्डर, स्ट्रिंग के रूप में फ़ोल्डर का नाम) त्रुटि के दौरान MAPIFOL फ़ोल्डर के रूप में मंद tmpInbox ndleError 'यदि फ़ोल्डर मौजूद नहीं है, तो अगली पंक्ति में कोई त्रुटि होगी। उस त्रुटि के कारण त्रुटि हैंडलर जाएगा: handleError 'और ट्रू रिटर्न वैल्यू को छोड़ें tmpInbox = parentFolder.Folders (folderName) FolderExists = True Exit Function handleError: FolderExists = गलत एंड फ़ंक्शन सेट करें 

ध्यान दें कि

मंच पर इस टिप के लिए काली मिर्च के लिए धन्यवाद।

पिछला लेख अगला लेख

शीर्ष युक्तियाँ