Comment créer une règle personnalisée dans Outlook 2000 à l'aide de Visual Basic pour applications

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 235852
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Pour une Microsoft Outlook 2002 version de cet article, reportez-vous 292063.
Résumé
Si l'Assistant Outlook ne fournit pas une fonctionnalité qui répond à vos besoins routage de messagerie, vous pouvez peut-être utiliser Outlook Visual Basic pour applications pour créer une règle personnalisée. Cet article décrit comment commencer à configurer une règle simple et traite certaines considérations importantes à garder à l'esprit lorsque vous créez une règle à l'aide de Visual Basic pour applications.
Plus d'informations
Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite, y compris, mais sans limitation, toute garantie implicite de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Professionnels du support technique Microsoft peuvent vous expliquer la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples afin de fournir des fonctionnalités supplémentaires ou des procédures pour répondre à vos besoins spécifiques de construction.
Si vous avez partiellement la programmation, il convient contacter un partenaire certifié Microsoft ou services de conseil Microsoft. Pour plus d'informations, visitez ces sites Web de Microsoft :

Microsoft certifié Partners - https://partner.microsoft.com/global/30000104

Services de conseil Microsoft - http://support.microsoft.com/gp/advisoryservice

Pour plus d'informations sur les options de support sont disponibles et sur la façon de contacter Microsoft, consultez le site Microsoft suivant : http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMSLes étapes suivantes créent une règle qui transfère automatiquement tout courrier que vous recevez en dehors des régulières heures de travail pour une autre adresse de messagerie, telle que l'adresse de messagerie que vous utilisez chez vous, ou pour une autre personne qui travaille l'équipe après la vôtre.

  1. Dans le menu Outils , pointez sur macro et cliquez sur Visual Basic .
  2. Dans le volet projet - Projet1 , double-cliquez sur Projet1 et double-cliquez sur Objets Microsoft Outlook .
  3. Double-cliquez sur ThisOutlookSession pour ouvrir une fenêtre de code.
  4. Dans la fenêtre code, tapez le code suivant. Modifiez la ligne qui spécifie l'adresse de messagerie, remplacer l'adresse de messagerie électroniques transmis à:
    Public WithEvents myOlItems As Outlook.ItemsPublic Sub Application_Startup()   ' Reference the items in the Inbox. Because myOlItems is declared   ' "WithEvents" the ItemAdd event will fire below.   Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).ItemsEnd SubPrivate Sub myOlItems_ItemAdd(ByVal Item As Object)   ' If it's currently not between 9:00 A.M. and 5:00 P.M.   If Time() < #9:00:00 AM# Or Time() > #5:00:00 PM# Then      ' Check to make sure it is an Outlook mail message, otherwise      ' subsequent code will probably fail depending on what type      ' of item it is.      If TypeName(Item) = "MailItem" Then         ' Forward the item just received         Set myForward = Item.Forward         ' Address the message         myForward.Recipients.Add "myaddress@mydomain.com"         ' Send it         myForward.Send      End If   End IfEnd Sub					
  5. Dans le menu fichier , cliquez sur Enregistrer VBAProject.otm .
  6. Fermez l'éditeur Visual Basic.
  7. Redémarrer Outlook afin que le code s'exécute.
Remarque : pour savoir comment s'assurer que votre code correctement gère divers types d'éléments, consultez l'article suivant dans la base de connaissances Microsoft :
222482 OL2000 : comment gérer les éléments inattendues dans une collection
Les considérations suivantes doivent être prises en compte si vous envisagez d'implémentant une solution de règles à l'aide de Visual Basic pour applications :
  • Outlook doit être en cours d'exécution pour Visual Basic pour application code à exécuter. Il s'agit du même effet en utilisant des règles côté client dans l'Assistant. Si Outlook n'est pas exécuté au moment où que le message arrive, la règle ne fonctionnera pas.
  • Votre règle personnalisée peut entrer en conflit avec autres règles que vous avez définies à l'aide de l'Assistant. Par exemple, si vous utilisez Microsoft Exchange Server et que vous créez une règle côté serveur qui déplace des messages à partir d'une personne spécifique vers un dossier spécifique, le message est déplacé sur le serveur et n'atteint jamais la boîte de réception. Par conséquent, l'événement ItemAdd ne s'exécute pas depuis un élément n'est pas ajouté à la boîte de réception.
  • Le code s'exécute indépendamment de la façon dont un élément est ajouté à la boîte de réception. Par exemple, si vous travaillez au plus tard une nuit et faites glisser un message dans votre boîte de réception, le message est transféré à l'autre compte de messagerie.
  • Outlook possède également un événement NewMail , mais cet événement s'exécute uniquement lorsque vous obtenez une nouvelle notification de messagerie. Si vous recevez trois messages à la fois, l'événement n'exécute qu'une seule fois. Vous pouvez utiliser l'événement NewMail pour vous assurer que votre code Visual Basic pour applications s'exécute uniquement lorsque vous recevez de nouveaux messages, mais vous devez ajouter une logique supplémentaire à rechercher les messages qui n'ont pas été lu avant le code. Ainsi, malheureusement ces deux événements ont tendance à avoir un effet secondaire indésirable :
    • L'événement ItemAdd facilite l'agissent sur tous les éléments entrants, mais également agit sur ces éléments que vous déplacer vers la boîte de réception, vous-même.
    • L'événement NewMail ne s'exécute pas lorsque vous faites glisser des éléments vers la boîte de réception, mais il est plus difficile à prendre en compte qu'il y a plusieurs éléments dans la boîte de réception votre code doit agir sur une solution de programme.
Références
Pour plus d'informations sur les ressources disponibles et les réponses aux questions les plus fréquemment posées sur les solutions Microsoft Outlook 2000, consultez l'article suivant dans la base de connaissances Microsoft :
146636 OL2000 : questions sur les formulaires personnalisés et les Solutions Outlook
OutSol OutSol2000 vbscript

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 235852 - Dernière mise à jour : 12/05/2015 15:03:13 - Révision : 3.3

Microsoft Outlook 2000 Standard

  • kbnosurvey kbarchive kbmt kbvba kbaddin kbhowto kbprogramming KB235852 KbMtfr
Commentaires