vba - Macro to move msg to folder when subject contains -
i'm working code below. works sometimes. mean can run test emails , supposed do, errors: 2 errors have gotten far are: "operation failed. object not found." , "instant search not enabled on store." appears random. question how can enhance code make sure runs without getting these errors??? have code programmed fire every minute.
option explicit sub moveitems() dim mynamespace outlook.namespace dim myinbox outlook.folder dim mydestfolderwa outlook.folder dim mydestfolderor outlook.folder dim mydestfolderid outlook.folder dim myitems outlook.items dim myitemwa object dim myitemor object dim myitemid object dim strfilter1 string dim strfilter2 string dim strfilter3 string dim restrictitems outlook.items dim mail outlook.mailitem on error goto errhandler set mynamespace = application.getnamespace("mapi") set myinbox = mynamespace.folders("subpayables invoices").folders("inbox") set myitems = myinbox.items set mydestfolderwa = myinbox.folders("wa") set mydestfolderor = myinbox.folders("or") set mydestfolderid = myinbox.folders("id") strfilter1 = "@sql=" & chr(34) _ & "urn:schemas:httpmail:subject" & chr(34) _ & " ci_phrasematch 'washington'" strfilter2 = "@sql=" & chr(34) _ & "urn:schemas:httpmail:subject" & chr(34) _ & " ci_phrasematch 'oregon'" strfilter3 = "@sql=" & chr(34) _ & "urn:schemas:httpmail:subject" & chr(34) _ & " ci_phrasematch 'idaho'" set restrictitems = myitems.restrict(strfilter1) set myitemwa = restrictitems.getfirst set restrictitems = myitems.restrict(strfilter2) set myitemor = restrictitems.getfirst set restrictitems = myitems.restrict(strfilter3) set myitemid = restrictitems.getfirst while typename(myitemwa) <> "nothing" myitemwa.move mydestfolderwa set myitemwa = restrictitems.getnext wend while typename(myitemor) <> "nothing" myitemor.move mydestfolderor set myitemor = restrictitems.getnext wend while typename(myitemid) <> "nothing" myitemid.move mydestfolderid set myitemid = restrictitems.getnext wend exit sub errhandler: msgbox err & ": " & error(err) end sub
i not getting errors, not doing want do
did try debug code , see happens there? errors?
the itemadd event of items class not run when large number of items added folder @ once (more 16). well-known issue. case?
you may consider handling newmailex event of application class fired when new item received in inbox. here msdn states:
the newmailex event fires when new message arrives in inbox , before client rule processing occurs. can use entry id returned in entryidcollection array call namespace.getitemfromid method , process item. use method caution minimize impact on outlook performance. however, depending on setup on client computer, after new message arrives in inbox, processes spam filtering , client rules move new message inbox folder can occur asynchronously. should not assume after these events fire, one-item increase in number of items in inbox.
Comments
Post a Comment