VBA स्क्रिप्ट के साथ नियम का उपयोग करके आउटलुक ईमेल को कैसे फ़िल्टर करें?


15

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

जवाबों:


13

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

  1. अपना कोड लिखें।

Alt-F11 VBA कोड एडिटर को लाता है। ThisOutlookSession पर डबल क्लिक करें। अपना कोड लिखें। मेरे मामले में यह विषय पंक्ति पर एक regex का उपयोग कर रहा है और इसे DefaultFolder में नहीं बल्कि सबफ़ोल्डर में मेरे स्वयं के pst को स्थानांतरित कर रहा है।

Sub filter(Item As Outlook.MailItem)
    Dim ns As Outlook.NameSpace
    Dim MailDest As Outlook.Folder
    Set ns = Application.GetNamespace("MAPI")
    Set Reg1 = CreateObject("VBScript.RegExp")
    Reg1.Global = True
    Reg1.Pattern = "(.*Abc.20.*)"
    If Reg1.Test(Item.Subject) Then
        Set MailDest = ns.Folders("Personal Folders").Folders("one").Folders("a")
        Item.Move MailDest
    End If
End Sub
  1. नियम के साथ आने वाले प्रत्येक ईमेल के लिए कोड चलाएँ।

नियमों के तहत "नियम और अलर्ट प्रबंधित करें ..." का चयन करें। नया नियम दिखेगा

Apply this rule after the message arrives run Project1.ThisOutlookSession.filter

इसे प्राप्त करने के लिए, चरण 1 के लिए: शर्त का चयन करें: बस अगला क्लिक करें। यह पुष्टि करें कि ओके पर क्लिक करके सभी संदेशों पर लागू होता है। चयन कार्रवाई (एस) के लिए "एक स्क्रिप्ट चलाएं" चेक करें फिर फ़िल्टर स्क्रिप्ट चुनने के लिए क्लिक करें और अगला या समाप्त चुनें। अपवाद का चयन करने के लिए अगला या समाप्त पर क्लिक करें। इसे एक अच्छा नाम दें जैसे vba-filter और इस नियम को चालू करें। समाप्त पर क्लिक करें। चूंकि यह एक स्थानीय फ़ोल्डर पर क्लिक करता है, ठीक है जब यह पुष्टिकरण करने के लिए कहता है कि यह नियम आपके द्वारा ऑनलाइन या किसी अन्य डिवाइस से चेक किए गए ईमेल के लिए काम नहीं करेगा। नियम और चेतावनियाँ संवाद बॉक्स में ठीक पर क्लिक करें।

  1. जब मैक्रोज़ साइन नहीं होते हैं तो आउटलुक इसे पसंद नहीं करता है। अपने मैक्रोज़ को स्व-साइन करने के लिए एक प्रमाण पत्र बनाएं और उसका उपयोग करें

मैंने मैक्रोज़ जैसे कई अन्य आंशिक समाधानों के बारे में पढ़ा और उपयोगकर्ता-परिभाषित कॉलम बनाया। यह यूआई छँटाई या फ़िल्टरिंग को देखने की अनुमति देता है लेकिन यह सभी संदेशों को संपादित करेगा क्योंकि वे आते हैं जिसमें वह नहीं है जो मैं करना चाहता था।
ग्रांट बोमन

1
मेरा आउटलुक क्लाइंट असंगत रूप से दृष्टिकोण शुरू करते समय vbscript vba- फिल्टर को चलाने के लिए नियम को अक्षम कर देगा। इसके कारण दिक्कत हुई। प्रत्येक नियम में जोड़ने के लिए vbscript पर एक वर्ण सीमा भी है। उनके लिए लगातार काम करने के लिए, हालांकि कम लचीलेपन के साथ, मैं मानक आउटलुक फिल्टर का उपयोग करके फिल्टर को फिर से लिखता हूं ताकि वे हर समय काम करेंगे।
ग्रांट बोमन

3
स्क्रिप्ट चलाने का यह विकल्प गायब था। यहाँ एक संबंधित लिंक मिल गया: slipstick.com/outlook/rules/outlook-2016-run-a-script-rules
जयन

उपरोक्त कोड मेरे लिए काम नहीं करता है। मैंने विषय फ़ाइल में Abc.20 डाला लेकिन संदेश कभी भी इनबॉक्स से बाहर नहीं जाते हैं।
तेंसिघ

1
डीबग विंडो का उपयोग करके मैं regex को काम करने में कामयाब रहा। अब यह सही फ़ोल्डर में जाने की बात है। मुझे लगता है कि मैं इसका पता लगा सकता हूं। आपकी सहायता के लिए धन्यवाद।
तेंसिघ जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.