Bonjour,
J'ai besoin d'exécuter un script lors de l'arrivée de nouveaux mails dans la boîte de réception. J'ai trouvé sur ce forum des tas d'exemples, mais pour ce qui me concerne, rien ne fonctionne. Le script ne s'exécute tout bonnement pas. Enfin, a priori.
J'ai essayé avec 2 méthodes :
- utilisation de l'évènement NewMail
- utilisation de l'évènement NewMailEx
Voici le code correspondant, inséré dans ThisOutlookSession. Pour l'instant je me suis contenté d'insérer un MSGBOX. Ce n'est pas le but final mais comme rien ne se passe je ne suis pas allé plus loin.
Script NewMailEx tiré de l'initiation au VBA d'Outlook de Morgan Billy (merci à lui, au passage).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Application_NewMail() MsgBox "Vous venez de recevoir un nouveau Mail !", vbExclamation End Sub Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) Dim MonApp As Outlook.Application Dim MonMail As Object Dim MonNameSpace As Outlook.NameSpace Set MonApp = Outlook.Application Set MonNameSpace = MonApp.GetNamespace("MAPI") Set MonMail = Application.Session.GetItemFromID(EntryIDCollection) MsgBox MonMail.Subject, vbExclamation End Sub
Je dois forcément rater un truc évident, mais après des heures à parcourir les forums, je ne vois vraiment pas quoi. Faut-il activer un truc particulier dans OUTLOOK ou sur le serveur EXCHANGE ?
Pour info les scripts de test sur les évènements Application_Quit et Application_Startup s'exécutent correctement.
D'avance merci pour toute aide ou suggestion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Application_Quit() MsgBox "Au revoir, " & Application.GetNamespace("MAPI").CurrentUser End Sub Private Sub Application_Startup() MsgBox "Bonjour et bienvenue dans Outlook, " & Application.GetNamespace("MAPI").CurrentUser End Sub
Version d'Outlook 2003 : 11.8330.8341 SP3 (Office Standard)
Utilisée derrière un serveur Exchange 2003
Partager