Créer une règle pour déplacer des e-mails spécifiques vers un dossier
Cette rubrique présente un exemple de code en Visual Basic pour Applications (VBA) qui utilise le modèle objet Rules pour créer une règle. L’exemple de code utilise les objets RuleAction et RuleCondition pour spécifier une règle qui déplace les messages d’un expéditeur spécifique vers un dossier spécifique, sauf si le message contient certains termes dans l’objet. Notez que dans l’exemple présenté, on suppose qu’un dossier « Dan » existe déjà dans la Boîte de réception.
Les étapes présentées ci-après permettent de créer cette règle.
Spécifiez le dossier
oMoveTarget
cible pour déplacer des messages spécifiques en fonction de la condition et de la condition d’exception. Le dossier cible est un sous-dossier nommé « Dan » sous la boîte de réception et est supposé exister.Utilisez Store.GetRules pour obtenir un ensemble de toutes les règles de la session active.
À l’aide de la collection Rules retournée à la dernière étape, utilisez Rules.Create pour ajouter une nouvelle règle. La nouvelle règle spécifie certaines actions à effectuer lors de la réception d’un message, elle est donc de type olRuleReceive.
À l’aide de l’objet Rule retourné à la dernière étape, utilisez la propriété RuleConditions.From pour obtenir un objet ToOrFromRuleCondition ,
oFromCondition
.oFromCondition
spécifie la condition pour la règle : lorsqu’un message provient deDan Wilson
.À l’aide du même objet Rule , utilisez la propriété RuleActions.MoveToFolder pour obtenir un objet MoveOrCopyRuleAction ,
oMoveRuleAction
.oMoveRuleAction
spécifie l’action de la règle : déplacer le message vers le dossier cible « Dan ».À l’aide du même objet Rule , utilisez la propriété RuleConditions.Subject pour obtenir un objet TextRuleCondition ,
oExceptSubject
.oExceptSubject
spécifie la condition d’exception : si l’objet contient les termes « fun » ou « chat », n’appliquez pas la règle pour déplacer le message vers le dossier « Dan ».Utilisez Rules.Save pour enregistrer la nouvelle règle avec le reste des règles du magasin actuel.
Sub CreateRule()
Dim colRules As Outlook.Rules
Dim oRule As Outlook.Rule
Dim colRuleActions As Outlook.RuleActions
Dim oMoveRuleAction As Outlook.MoveOrCopyRuleAction
Dim oFromCondition As Outlook.ToOrFromRuleCondition
Dim oExceptSubject As Outlook.TextRuleCondition
Dim oInbox As Outlook.Folder
Dim oMoveTarget As Outlook.Folder
'Specify target folder for rule move action
Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox)
'Assume that target folder already exists
Set oMoveTarget = oInbox.Folders("Dan")
'Get Rules from Session.DefaultStore object
Set colRules = Application.Session.DefaultStore.GetRules()
'Create the rule by adding a Receive Rule to Rules collection
Set oRule = colRules.Create("Dan's rule", olRuleReceive)
'Specify the condition in a ToOrFromRuleCondition object
'Condition is if the message is from "Dan Wilson"
Set oFromCondition = oRule.Conditions.From
With oFromCondition
.Enabled = True
.Recipients.Add ("Dan Wilson")
.Recipients.ResolveAll
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
'Specify the exception condition for the subject in a TextRuleCondition object
'Exception condition is if the subject contains "fun" or "chat"
Set oExceptSubject = _
oRule.Exceptions.Subject
With oExceptSubject
.Enabled = True
.Text = Array("fun", "chat")
End With
'Update the server and display progress dialog
colRules.Save
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.