如何:在特定文件夹中搜索

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 应用程序级项目

Microsoft Office 版本

  • Outlook 2003

  • Outlook 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

此代码示例使用 Find 和 FindNext 方法在“收件箱”中的电子邮件的主题字段中搜索文本。此方法使用字符串筛选器检查字母 T 是否为 Subject 文本的开头字母。

示例

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

请参见

任务

如何:按名称检索文件夹

概念

使用文件夹

Outlook 对象模型概述