Condividi tramite


Procedura: eseguire la ricerca in una cartella specifica

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di applicazione

Versione Microsoft Office

  • Outlook 2003

  • Outlook 2007

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

In questo esempio di codice vengono utilizzati i metodi Find e FindNext per ricercare testo nel campo dell'oggetto dei messaggi di posta elettronica contenuti nella cartella Posta in arrivo. Con questo metodo viene utilizzato un filtro stringa per ricercare la T come lettera iniziale del testo Subject.

Esempio

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

Vedere anche

Attività

Procedura: recuperare una cartella per nome

Concetti

Utilizzo delle cartelle

Cenni preliminari sul modello a oggetti di Outlook