Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se mueven los mensajes de correo electrónico no leídos desde la Bandeja de entrada hacia una carpeta denominada Prueba.En el ejemplo sólo se moverán los mensajes que tengan la palabra Prueba en el campo Subject.
Se aplica a: La información de este tema se aplica a los proyectos de nivel de aplicación para Outlook 2013 y Outlook 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.
Ejemplo
Private Sub ThisApplication_NewMail() Handles Application.NewMail
Dim inBox As Outlook.MAPIFolder = Me.Application.ActiveExplorer() _
.Session.GetDefaultFolder(Outlook _
.OlDefaultFolders.olFolderInbox)
Dim items As Outlook.Items = inBox.Items
Dim moveMail As Outlook.MailItem = Nothing
items.Restrict("[UnRead] = true")
Dim destFolder As Outlook.MAPIFolder = inBox.Folders("Test")
Try
For Each eMail As Object In items
moveMail = TryCast(eMail, Outlook.MailItem)
If Not moveMail Is Nothing Then
If InStr(moveMail.Subject, "Test") > 0 Then
moveMail.Move(destFolder)
End If
End If
Next eMail
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
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ódigo
Para este ejemplo se necesita:
Una carpeta de correo de Outlook denominada Prueba.
Un mensaje de correo electrónico que llegue y que tenga la palabra Prueba en el campo Subject.
Vea también
Tareas
Cómo: Recuperar una carpeta por su nombre mediante programación
Cómo: Buscar en una carpeta específica mediante programación
Cómo: Realizar acciones al recibir un mensaje de correo electrónico mediante programación