8 votes

Comment obtenir une référence à l'élément de courrier dans la fenêtre ouverte actuelle dans Outlook à l'aide de VBA ?

J'ai une macro qui fonctionne très bien pour placer dans des dossiers / appliquer des drapeaux / définir des catégories, mais elle ne fonctionne que sur l'élément sélectionné dans l'explorateur.

Lorsque je reçois une alerte e-mail sur mon bureau et que je clique dessus pour ouvrir le message, j'aimerais pouvoir exécuter la même macro sur cet élément ouvert, mais je ne trouve aucune documentation sur la manière d'accéder à cet objet de la même façon que j'accède à l'élément sélectionné dans la liste de l'explorateur.

Ma logique de sélection actuelle est la suivante :

Dim Item As Object
Dim SelectedItems As Selection

Set SelectedItems = Outlook.ActiveExplorer.Selection
For Each Item In SelectedItems
    With Item
        'do stuff
    End With
Next Item

11voto

Matt Connolly Points 691

Apparemment, il s'agit du code permettant d'obtenir l'élément ouvert actuel :

If TypeName(Application.ActiveWindow) = "Inspector" Then
    Set Item = Application.ActiveWindow.CurrentItem

7voto

user2038505 Points 71

J'ai procédé de la manière suivante. Déclarez l'élément en tant que MailItem au lieu d'un objet et vous obtiendrez l'aide d'IntelliSense.

Dim CurrentMessage As MailItem
Set CurrentMessage = ActiveInspector.CurrentItem
CurrentMessage.HTMLBody = "[Insert HTML here]"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X