2011-05-21 28 views
0

J'essaye d'exécuter une fonction chaque fois qu'un nouveau courrier arrive dans Outlook. J'ai fait quelques recherches mais je suis incapable de trouver le moyen de déclencher le code chaque fois qu'un email arrive. Y a-t-il un nouvel événement mail que je pourrais utiliser?VBA outlook new mail

J'ai ajouté un simple MsgBox pour voir si l'événement se déclenche mais ne semble pas fonctionner. J'ai placé ce code dans le module ThisOutlookSession. Un adivice? Voici mon code.

Public WithEvents myOlApp As Outlook.Application 

    Sub Initialize_handler() 
     Set myOlApp = CreateObject("Outlook.Application") 
    End Sub 

    Private Sub myOlApp_NewMail() 
     Dim myExplorers As Outlook.Explorers 
     Dim myFolder As Outlook.MAPIFolder 
     Dim x As Integer 
     Set myExplorers = myOlApp.Explorers 
     Set myFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox) 
     If myExplorers.Count <> 0 Then 
      For x = 1 To myExplorers.Count 
       On Error GoTo skipif 
       If myExplorers.Item(x).CurrentFolder.Name = "Inbox" Then 
        MsgBox ("Test") 
        myExplorers.Item(x).Display 
        myExplorers.Item(x).Activate 
        Exit Sub 
       End If 
    skipif: 
      Next x 
     End If 
     On Error GoTo 0 
     myFolder.Display 
    End Sub 
+0

Quand quelqu'un a fourni une réponse qui a résolu votre problème, marquer comme accepté en cliquant sur le petit V à côté de la réponse. De cette façon, vous signalez à quiconque lisant ceci que c'est la solution, et que votre problème a été résolu. –

Répondre

1

Essayez de mettre:

 
Private Sub Application_NewMail() 
    MsgBox "New mail" 
End Sub 

Dans « ThisOutlookSession »

+0

Merci Matt. Cela a fonctionné sur mon ordinateur de travail, mais malheureusement pas sur mon ordinateur à la maison ... celui pour lequel je suis en train de développer. J'ai clairement un problème plus profond avec outlook. Cela prendra plus de creuser. – loveforvdubs

+0

bien c'est embarrassant. Pendant tout ce temps, j'avais des macros désactivées dans Outlook. Je suis impatient d'aller de l'avant avec ce projet. Merci à tous pour votre aide! – loveforvdubs

+0

@loveforvdubs Si la réponse de Matt vous a aidé à le résoudre, vous devriez le sélectionner comme réponse. – jonsca

0

Il y a un bon exemple montrant comment MSDN pour afficher la boîte de réception lorsqu'un nouveau message arrive (en utilisant Outlook.Explorers). Vous pouvez probablement l'adapter assez facilement pour votre propre programme.

+0

@loveforvdubs Vous devriez probablement éditer votre question pour indiquer ce que vous avez essayé, quels résultats vous attendiez, et quels résultats vous avez obtenus. – jonsca

+0

désolé je ne voulais pas soumettre ce commentaire plus tôt, s'il vous plaît voir ci-dessous – loveforvdubs

+0

Yat-il un moyen d'afficher du code dans un commentaire? J'ai essayé de répondre avec le code que j'ai essayé d'utiliser mais j'ai été incapable de trouver un moyen d'écrire du code dans le champ de commentaire. – loveforvdubs

Questions connexes