Cómo: Mover elementos en Outlook mediante programaciónHow to: Programmatically Move Items in Outlook

Este ejemplo mueve mensajes de correo electrónico no leídos desde el Bandeja de entrada en una carpeta denominada prueba.This example moves unread e-mail messages from the Inbox to a folder named Test. En el ejemplo se mueve únicamente los mensajes que tienen la palabra prueba en el Subject campo.The example only moves messages that have the word Test in the Subject field.

Aplicación: la información de este tema se aplica a los proyectos de complemento de VSTO para Outlook.Applies to: The information in this topic applies to VSTO add-in projects for Outlook. Para obtener más información, consulte Características disponibles por aplicación y tipo de proyecto de Office.For more information, see Features Available by Office Application and Project Type.

EjemploExample

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    this.Application.NewMail += new Microsoft.Office.Interop.Outlook.
        ApplicationEvents_11_NewMailEventHandler
        (ThisAddIn_NewMail);

}

private void ThisAddIn_NewMail()
{
    Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application.
        ActiveExplorer().Session.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderInbox);
    Outlook.Items items = (Outlook.Items)inBox.Items;
    Outlook.MailItem moveMail = null;
    items.Restrict("[UnRead] = true");
    Outlook.MAPIFolder destFolder = inBox.Folders["Test"];
    foreach (object eMail in items)
    {
        try
        {
            moveMail = eMail as Outlook.MailItem;
            if (moveMail != null)
            {
                string titleSubject = (string)moveMail.Subject;
                if (titleSubject.IndexOf("Test") > 0)
                {
                    moveMail.Move(destFolder);
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
}

Compilar el códigoCompiling the Code

Para este ejemplo se necesita:This example requires:

  • Una carpeta de correo electrónico de Outlook con el nombre prueba.An Outlook mail folder named Test.

  • Un mensaje de correo electrónico que llega con la palabra prueba en el Subject campo.An e-mail message that arrives with the word Test in the Subject field.

Vea tambiénSee Also

Trabajar con carpetas Working with Folders
Cómo: recuperar una carpeta por su nombre mediante programación How to: Programmatically Retrieve a Folder by Name
Cómo: buscar en una carpeta específica mediante programación How to: Programmatically Search Within a Specific Folder
Cómo: Realizar acciones al recibir un mensaje de correo mediante programaciónHow to: Programmatically Perform Actions When an E-Mail Message Is Received