ने आने वाले ईमेल को हल करने में मेरी सहायता के लिए Outlook के विजुअल बेसिक (हम Outlook 2003 और Exchange Server का उपयोग कर रहे हैं) में एक संदेश हैंडलर फ़ंक्शन लिखा है। यह मेरे लिए काम कर रहा है, सिवाय इसके कि नियम कभी-कभी विफल हो जाता है और आउटलुक इसे निष्क्रिय करता है। फिर मैं नियम को वापस चालू करता हूं और इसे पकड़ने के लिए मैन्युअल रूप से इसे अपने इनबॉक्स पर चलाता हूं। नियम स्वचालित रूप से दिन में कई बार विफल रहता है और निष्क्रिय करता है। मैं इसे एक बार और सभी के लिए ठीक करना पसंद करूंगा।
यहाँ कोड कार्यक्षमता छीन है, लेकिन आप यह कैसे लग रहा है की एक विचार दे रही है:
Public WithEvents myOlItems As Outlook.Items
Public Sub Application_Startup()
' Reference the items in the Inbox. Because myOlItems is declared
' "WithEvents" the ItemAdd event will fire below.
' Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
Set myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub myOlItems_ItemAdd(ByVal Item As Object)
On Error Resume Next
If TypeName(Item) = "MailItem" Then
MyMessageHandler Item
End If
End Sub
Public Sub MyMessageHandler(ByRef Item As MailItem)
Dim strSender As String
Dim strSubject As String
If TypeName(Item) <> "MailItem" Then
Exit Sub
End If
strSender = LCase(Item.SenderEmailAddress)
strSubject = Item.Subject
rem do stuff
rem do stuff
rem do stuff
End Sub
एक त्रुटि मैं "प्रकार बेमेल" है MyMessageHandler जहां वीबी शिकायत है कि आइटम बुला एक MailItem नहीं है । ठीक है, लेकिन TypeName (आइटम) "MailItem" देता है, तो आइटम कैसे मेलइटम नहीं है?
मुझे एक और मिलता है जहां एक खाली विषय वाला ईमेल आता है। लाइन
strSubject = Item.Subject
मुझे एक त्रुटि देता है। मुझे आइटम पता है। विषय खाली होना चाहिए, लेकिन यह एक त्रुटि क्यों है?
धन्यवाद।
स्रोत
2008-09-17 01:39:16
टाइपनाम मानव-पठनीय संस्करण के लिए एक प्रकार से पूछताछ करता है। चूंकि एक ही नाम के साथ दो अलग-अलग प्रकार हो सकते हैं, टाइप टाइप करने के लिए टाइपनाम पर भरोसा करने के परिणामस्वरूप झूठी-सकारात्मक/नकारात्मक होंगे। कोशिश करें "टाइपऑफ आइटम मेलइटम है" इसके बजाय – rpetrich
यदि 'टाइपनाम (आइटम) = "मेलइटम" ', तो एक प्रक्रिया को कॉल करें ... जो न केवल MailItems स्वीकार करता है, लेकिन फिर यह जांचता है कि आइटम MailItem है या नहीं? – JimmyPena