Solved

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

Posted on 2016-09-19
2
70 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 58

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 500 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

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

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

This article describes a method of delivering Word templates for use in merging Access data to Word documents, that requires no computer knowledge on the part of the recipient -- the templates are saved in table fields, and are extracted and install…
Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

687 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