Partager via


Exécution d’une règle sur un ordinateur local

Cet exemple montre comment exécuter une règle sur un ordinateur local à l’aide de la propriété OnLocalMachine de l’objet RuleConditions.

Exemple

Remarque

L’exemple de code suivant est extrait du livreprogrammation d’Applications pour Microsoft Office Outlook 2007 (non traduit)..

Si votre boîte aux lettres est hébergée sur un serveur Exchange, une règle est exécutable sur le serveur Exchange ou sur le client Outlook. Si la règle est exécutée sur le serveur, il n'est pas nécessaire qu'Outlook s'exécute pour que les conditions de la règle soient évaluées et que les actions de la règle soient exécutées. Si la règle est exécutée sur le client, Outlook doit s'exécuter pour que la règle s'exécute. Si la propriété IsLocalRule de l'objet Rule retourne true, la règle est exécutée sur le client.

En cas d’exécution d’actions de règle par défaut sur le client (comme l’affichage d’une alerte de nouveau message électronique), la condition OnLocalMachine s’active automatiquement, tandis que le système définit la propriété Enabled sur true pour un objet RuleAction côté client. Si des actions de règle s’exécutent globalement sur le serveur, veuillez définir la propriété Enabled de l’objet RuleAction côté client pour activer la condition OnLocalMachine. Vous forcez ainsi l’exécution de la règle sur le client en local.

Si la condition OnLocalMachine d’une règle s’active, la condition OnOtherMachine s’active aussi, lorsqu’une autre machine examine la même règle. Une condition de règle du type olConditionOtherMachine indique que vous pouvez uniquement exécuter la règle sur un ordinateur distinct de l’ordinateur actuel, et que vous ne pouvez pas l’activer ou la désactiver par programmation. Par exemple, si vous créez une règle sur l’ordinateur actuel tout en ayant activé la condition de règle OnLocalMachine, vous devez exécuter cette règle sur cet ordinateur, et seulement lui. Si vous exécutez cette règle sur un autre ordinateur, la règle indique que la condition de règle OnOtherMachine est active.

Dans l’exemple de code suivant, DemoOnMachineOnly crée une règle et active la condition OnlyToMe et l’action Forward en définissant les propriétés Enabled sur true. La condition OnLocalMachine s’active, forçant l’exécution en local d’une règle côté serveur. Puis le système enregistre les règles. Par défaut, une action Forward et une condition OnlyToMe fonctionneront sur le serveur. Une fois la condition OnLocalMachine activée, les règles fonctionnent comme des règles côté client.

Si vous utilisez Visual Studio pour tester cet exemple de code, vous devez d’abord ajouter une référence au composant Bibliothèque d’objets Microsoft Outlook 15.0 et spécifier la variable lorsque vous importez l’espace de noms Microsoft.Office.Interop.Outlook. L’instruction using ne doit pas se produire juste avant les fonctions de l’exemple de code, mais doit être ajoutée avant la déclaration publique. La ligne de code suivante montre comment effectuer l’importation et l’affectation dans C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void DemoOnMachineOnly()
{
    Outlook.Rules rules =
        Application.Session.DefaultStore.GetRules();
    Outlook.Rule rule =
        rules.Create("Demo Machine Only Rule",
        Outlook.OlRuleType.olRuleReceive);
    rule.Conditions.OnlyToMe.Enabled = true;
    rule.Actions.Forward.Enabled = true;
    rule.Actions.Forward.Recipients.Add("someone@example.com");
    rule.Actions.Forward.Recipients.ResolveAll();

    // Force the rule to execute locally
    rule.Conditions.OnLocalMachine.Enabled = true;
    rules.Save(true);
}

Voir aussi