向项分配类别

此代码示例展示了如何使用 Categories 属性向项分配类别。

示例

注意

下面的代码示例摘录自 Microsoft Office Outlook 2007 应用程序编程

若要向项分配类别,请使用特定项的 Categories 属性。 此代码示例利用创建用于访问常见 Outlook 项成员的帮助程序类中定义的 OutlookItem 帮助程序类,便捷地调用 OutlookItem.Categories 属性,无需先强制转换项。 Categories 属性用于获取或设置以逗号分隔的字符串(最多可包含 255 个字符)表示的类别。 类别值是以逗号和空格分隔。 分配 NameSpace 对象的 Categories 集合中没有的类别会导致类别不显示颜色。

在下面的代码示例中,AssignCategories 首先使用 DAV 搜索和定位 (DASL) 查询来筛选主题中包含“ISV”的收件箱中的项目,从而对主题中包含“ISV”的项目创建限制。 然后,AssignCategories 使用 OutlookItem 类循环访问筛选的项目,如果按项目返回的字符串,则为 。类别 不是空引用,或者已分配给 ISV,ISV 类别已分配给该项。

using Outlook = Microsoft.Office.Interop.Outlook;
private void AssignCategories()
{
    string filter = "@SQL=" + "\"" + "urn:schemas:httpmail:subject"
        + "\"" + " ci_phrasematch 'ISV'";
    Outlook.Items items =
        Application.Session.GetDefaultFolder(
        Outlook.OlDefaultFolders.olFolderInbox).Items.Restrict(filter);
    for (int i = 1; i <= items.Count; i++)
    {
        OutlookItem item = new OutlookItem(items[i]);
        string existingCategories = item.Categories;
        if (String.IsNullOrEmpty(existingCategories))
        {
            item.Categories = "ISV";
        }
        else
        {
            if (item.Categories.Contains("ISV") == false)
            {
                item.Categories = existingCategories + ", ISV";
            }
        }
        item.Save();
    }
}

另请参阅