Partager via


Comment : définir les indicateurs sur des éléments de messagerie entrants

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets et versions Visual Studio Tools pour Office spécifiés de Microsoft Office.

Type de projet

  • Projets au niveau de l'application

Version de Microsoft Office

  • Outlook 2003

  • Outlook 2007

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Cet exemple définit des indicateurs sur des messages non lus provenant d'un expéditeur spécifique à mesure qu'ils arrivent dans la boîte de réception Outlook de l'utilisateur.

Exemple

Private Sub ThisAddIn_NewMail() Handles Application.NewMail
    Dim outlookNameSpace As Outlook.NameSpace = Me.Application.GetNamespace("MAPI")
    Dim inbox As Outlook.MAPIFolder = _
    outlookNameSpace.GetDefaultFolder( _
    Outlook.OlDefaultFolders.olFolderInbox)

    ' Mark each unread message from Jeff Hay with a yellow flag icon.
    Dim unreadMailItems As Outlook.Items = _
        inbox.Items.Restrict("[Unread]= true")

    For Each omailItem As Object In unreadMailItems
        Dim unreadMailItem As Outlook.MailItem = Nothing
        unreadMailItem = TryCast(omailItem, Outlook.MailItem)
        If (unreadMailItem IsNot Nothing) Then
            If (unreadMailItem.SenderName = "Jeff Hay") Then
                unreadMailItem.FlagIcon = _
                    Outlook.OlFlagIcon.olYellowFlagIcon
                unreadMailItem.Save()
            End If
        End If
    Next
End Sub
private void ThisAddIn_Startup(object sender,
    System.EventArgs e)
{
    this.Application.NewMail +=
        new Outlook.ApplicationEvents_11_NewMailEventHandler
        (ThisAddIn_NewMail);
}

void ThisAddIn_NewMail()
{
    Outlook.NameSpace outlookNameSpace = this.Application.GetNamespace("MAPI");

    Outlook.MAPIFolder inbox = outlookNameSpace.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderInbox);

    // Mark each unread message from Jeff Hay with a yellow flag icon.
    Outlook.Items unreadMailItems =
        inbox.Items.Restrict("[Unread]= true");

    foreach (Object omailItem in unreadMailItems)
    {
        Outlook.MailItem unreadMailItem =
            omailItem as Outlook.MailItem;

        if (unreadMailItem != null)
        {
            if (unreadMailItem.SenderName == "Jeff Hay")
            {
                unreadMailItem.FlagIcon =
                    Outlook.OlFlagIcon.olYellowFlagIcon;
                unreadMailItem.Save();
            }
        }
    }
}

Voir aussi

Concepts

Utilisation d'éléments de messagerie

Mise en route de la programmation de compléments d'application