Cómo: mover elementos en Outlook mediante programaciónHow to: Programmatically move items in Outlook

Este ejemplo mueve los 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. El ejemplo mueve sólo 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.

Se aplica a: la información de este tema se aplica a VSTO agregar-en los proyectos de 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 tipo de aplicación y el 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);
        }
    }
}

Compile el códigoCompile the code

Para este ejemplo se necesita:This example requires:

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

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

Vea tambiénSee also

Trabajar con carpetas Work with folders
Cómo: recuperar una carpeta por 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 mediante programación cuando se recibe un mensaje de correo electrónicoHow to: Programmatically perform actions when an email message is received