2011-04-08 9 views
6

पर आने वाले मेल संदेश को स्थानांतरित करने के लिए मैं Outlook 2010 के लिए एक कस्टम नियम बनाने की कोशिश कर रहा हूं जो ईमेल के विषय का निरीक्षण करता है और यदि यह नियमित अभिव्यक्ति करता है तो यह एक विशिष्ट फ़ोल्डर में स्थानांतरित हो जाता है।आउटलुक 2010 कस्टम वीबीए स्क्रिप्ट एक विशिष्ट फ़ोल्डर

हालांकि जब मैं स्क्रिप्ट चलाने मैं निम्नलिखित त्रुटि मिलती है जब मैं कोशिश करते हैं और मैं करने के लिए संदेश ले जाना चाहते हैं फ़ोल्डर के लिए एक Outlook.Folder वस्तु मिलती है:

रन-टाइम त्रुटि '91':
वस्तु चर या ब्लॉक चर के साथ सेट नहीं

नीचे VBA स्क्रिप्ट है कि मैं ईमेल का विषय जांचें और अगर यह मेल खाता निर्दिष्ट फ़ोल्डर में संदेश ले जाने के लिए उपयोग कर रहा हूँ है।

Sub MoveToETS(Item As Outlook.MailItem) 
    Dim Subject As String 
    Subject = Item.Subject 

    Dim FolderToMoveTo As Outlook.Folder 
    Set FolderToMoveTo = GetFolder("ETS") 

    If (CheckSubject(Subject, "^[Project|Bug] (\d+?) - \[[UPDATE|NEW|RESOLVED]\]")) Then 
     Item.Move (FolderToMoveTo) 
    End If 
End Sub 

Function CheckSubject(Subject As String, PatternToCheck As String) 
    Dim ObjRegExp As RegExp 
    Dim ObjMatch As Match 

    Set ObjRegExp = New RegExp 
    ObjRegExp.Pattern = PatternToCheck 

    If (ObjRegExp.Text(Subject) = True) Then 
     CheckSubject = True 
    End If 

End Function 

Function GetFolder(ByVal FolderName As String) As Outlook.Folder 

    Dim ObjFolder As Outlook.Folder 

    Set ObjFolder = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Folders("ETS") 

    GetFolder = ObjFolder 

End Function 

उत्तर

4

आपकी आखिरी लेकिन एक लाइन होने की जरूरत है

Set GetFolder = ObjFolder 
संबंधित मुद्दे