Compartir a través de


Cómo: Establecer marcadores en los elementos de correo electrónico entrantes

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office.

Tipo de proyecto

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Outlook 2003

  • Outlook 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

En este ejemplo se establecen marcadores en mensajes no leídos de un remitente específico a medida que llegan a la Bandeja de entrada de Outlook del usuario.

Ejemplo

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();
            }
        }
    }
}

Vea también

Conceptos

Trabajar con elementos de correo

Introducción a la programación de complementos de nivel de aplicación