Comment puis-je déclencher une macro à exécuter après un nouveau mail est reçu dans Outlook?
Je suis en train d'écrire une macro qui crée des billets sur une base de données basée sur les alertes reçues à partir d'un serveur Nagios comme un e-mail. Cependant, je ne peux pas laisser la macro à exécuter dans une boucle infinie lors de la vérification pour les mails, car il est juste trop de ressources lourd et rend mon bureau accrocher. J'ai besoin de trouver un moyen de déclencher la macro uniquement lorsqu'un nouveau message est reçu.
J'ai cherché quelque chose le long des lignes de NewMail événements sur le site web MSDN, mais je ne peux pas trouver quelque chose de cohérent. Quelqu'un peut-il me montrer un peu de code d'exemple pour montrer comment déclencher des macros de nouveaux messages d'événements?
Vous devez vous connecter pour publier un commentaire.
Ce code permettra d'ajouter un écouteur d'événement à la locale par défaut de la Boîte de réception, puis de prendre une certaine action sur les e-mails entrants. Vous avez besoin d'ajouter que l'action dans le code ci-dessous.
Après avoir collé le code dans
ThisOutlookSession
module, vous devez redémarrer Outlook.Essayer quelque chose comme cela à l'intérieur de
ThisOutlookSession
:Mon outlook vba juste mis le feu quand j'ai reçu un e-mail et n'avait que des événements d'application ouverte.
Edit: je viens de tester un hello world msg box et il a couru après avoir été appelé dans le
application_newmail
événement lorsqu'un e-mail a été reçu.ThisOutlookSession
et à gauche. Pas besoin pour exécuter la macro, il va déclencher lorsqu'un message est reçu.Call Your_main_macro
, j'ai trouvé que la macro doit être stocké dans le même module,ThisOutlookSession
. Si elle était dans un autre module, j'ai une erreur. J'ai dû redémarrer Outlook pour que les changements prennent effet.