?
Solved

run outlook Rule from access 2010 vba code then delete all rules

Posted on 2016-09-19
2
Medium Priority
?
97 Views
Last Modified: 2016-09-19
I have that creates a rule in outlook from access vba code.
Internet code.

It creates the rule then saves it.
Works great.

What I need:
I now need to execute that same rule...then delete the RULE.

I need to RUN THE RULE from the "Sent Items"  folder specifically.


Code for Creating the rule:
Dim colStores As Outlook.Stores
Dim oStore As Outlook.Store
Dim oFolders As Outlook.Folders
Dim oInbox As Outlook.folder
Dim Folder_Name As String
Dim Rname As String

Folder_Name = SELLER_NAME & "_" & "EscalationId_" & price_escNum & "_Created_" & Date
Rname = "Action Required - Pricing Escalation" & " #'" & price_escNum & "'"
'  On Error Resume Next

Set colStores = Outlook.Session.Stores
Set oFolders = colStores.Item("bookprice@xxxxxx.com").GetDefaultFolder(olFolderInbox).Folders.Item("Archive").Folders
oFolders.Add (Folder_Name)
   
Dim colRules As Outlook.Rules
   Dim oRule As Outlook.Rule
   Dim colRuleActions As Outlook.RuleActions
   Dim oRuleAction As Outlook.RuleAction
   Dim oMoveRuleAction As Outlook.MoveOrCopyRuleAction
   Dim oFromCondition As Outlook.ToOrFromRuleCondition
   Dim oSubjectCondition As Outlook.TextRuleCondition
   Dim oExceptSubject As Outlook.TextRuleCondition
   
   Dim oMoveTarget As Outlook.folder
   On Error Resume Next
   'Specify target folder for rule move action
   Set oInbox = Outlook.Session.Stores.Item("bookprice@xxxxxx.com").GetDefaultFolder(olFolderInbox).Folders.Item("Archive")
   'Debug.Print oInbox.FolderPath
   'Assume that target folder already exists
   Set oMoveTarget = oInbox.Folders(Folder_Name)
   'Get Rules from Session.DefaultStore object
   Set colRules = Outlook.Session.Stores.Item("bookprice@xxxxxx.com").GetRules()
   'Create the rule by adding a Receive Rule to Rules collection
   Set oRule = colRules.Create(Rname, olRuleReceive)
   'Specify the condition in a ToOrFromRuleCondition object
   'Condition is if the message is sent by "DanWilson"
   Set oSubjectCondition = oRule.Conditions.Subject
   With oSubjectCondition
      .Enabled = True
      .Text = Array(Rname)
   End With
   'Specify the action in a MoveOrCopyRuleAction object
   'Action is to move the message to the target folder
   Set oMoveRuleAction = oRule.Actions.MoveToFolder
   With oMoveRuleAction
      .Enabled = True
      .folder = oMoveTarget
   End With
   'Set rule to stop processing more rules
   Set oRuleAction = oRule.Actions.Stop
   With oRuleAction
      .Enabled = True
   End With
   'Update the server and display progress dialog
   colRules.Save

Open in new window

0
Comment
Question by:Fordraiders
2 Comments
 
LVL 58

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 2000 total points
ID: 41805134
Just as a side comment, seems to me you'd be better off just processing the items in the folder and do what the rule does via code and forget about rules entirely.  I don't have time to dig into this with you, but it seems like your heading in the wrong direction.

Jim.
0
 
LVL 3

Author Closing Comment

by:Fordraiders
ID: 41805160
thanks
0

Featured Post

Configuration Guide and Best Practices

Read the guide to learn how to orchestrate Data ONTAP, create application-consistent backups and enable fast recovery from NetApp storage snapshots. Version 9.5 also contains performance and scalability enhancements to meet the needs of the largest enterprise environments.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

With so many activities to perform, Exchange administrators are always busy in organizations. If everything, including Exchange Servers, Outlook clients, and Office 365 accounts work without any issues, they can sit and relax. But unfortunately, it…
Take a look at these 6 Outlook Email management tools which can augment the working and performance of Microsoft Outlook to give you a more rewarding emailing experience.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Suggested Courses

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question