Compartir a través de


Cómo: Buscar en una carpeta específica

En este ejemplo de código se utilizan los métodos Find y FindNext para buscar texto en el campo Asunto de mensajes de correo electrónico que se encuentren en la Bandeja de entrada. Este método utiliza un filtro de cadena para comprobar la letra T como la letra inicial del texto del Subject.

Se aplica a: la información de este tema se aplica a los proyectos de nivel de aplicación para Outlook 2007 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 SearchInBox()
        Dim inbox As Outlook.MAPIFolder = Me.Application.ActiveExplorer().Session. _
            GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
        Dim items As Outlook.Items = inbox.Items
        Dim mailItem As Outlook.MailItem = Nothing
        Dim folderItem As Object
        Dim subjectName As String = String.Empty
        Dim filter As String = "[Subject] > 's' And [Subject] <'u'"
        folderItem = items.Find(filter)
        While (folderItem IsNot Nothing)
            mailItem = TryCast(folderItem, Outlook.MailItem)
            If mailItem IsNot Nothing Then
                subjectName = vbCrLf & mailItem.Subject
            End If
            folderItem = items.FindNext()
        End While
        subjectName = "The following e-mail messages were found: " _
            & subjectName
        MsgBox(subjectName)
    End Sub

        private void SearchInBox()
        {
            Outlook.MAPIFolder inbox = this.Application.ActiveExplorer().Session.
                GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
            Outlook.Items items = inbox.Items;
            Outlook.MailItem mailItem = null;
            object folderItem;
            string subjectName = string.Empty;
            string filter = "[Subject] > 's' And [Subject] <'u'";
            folderItem = items.Find(filter);
            while (folderItem != null)
            {
                mailItem = folderItem as Outlook.MailItem;
                if (mailItem != null)
                {
                    subjectName += "\n" + mailItem.Subject;
                }
                folderItem = items.FindNext();
            }
            subjectName = " The following e-mail messages were found: " +
                subjectName;
            MessageBox.Show(subjectName);
        }

Vea también

Tareas

Cómo: Recuperar una carpeta por su nombre

Conceptos

Trabajar con carpetas

Otros recursos

Información general sobre el modelo de objetos de Outlook