Share via


Comment : rechercher dans un dossier spécifique

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau de l'application

Version de Microsoft Office

  • Outlook 2003

  • Outlook 2007

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Cet exemple de code utilise les méthodes Find et FindNext pour rechercher un texte dans le champ d'objet des courriers électroniques présents dans la Boîte de réception. Cette méthode utilise un filtre de chaîne pour vérifier la présence éventuelle de la lettre T en tant que lettre initiale du texte Subject.

Exemple

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);
}

Voir aussi

Tâches

Comment : récupérer un dossier par nom

Concepts

Utilisation des dossiers

Vue d'ensemble du modèle d'objet Outlook