Share via


分類項目をアイテムに割り当てる

この例では、Categories プロパティを使用して、アイテムに分類項目を割り当てる方法を示します。

注:

次のコード サンプルは、『Programming Applications for Microsoft Office Outlook 2007』からの抜粋です。

アイテムに分類項目を割り当てるには、アイテムの Categories プロパティを使用します。 このコード サンプルは、「ヘルパー クラスを作成し、Outlook アイテムの共通メンバーにアクセスする」で定義されている OutlookItem ヘルパー クラスを使用して、OutlookItem.Categories プロパティを簡単に呼び出します。最初にアイテムをキャストする必要はありません。 Categories プロパティは、コンマで区切られた 255 文字以内の文字列で表される分類項目を取得または設定します。 各分類項目の値は、コンマと空白文字で区切られます。 NameSpace オブジェクトの Categories コレクションに含まれない分類項目を割り当てると、色の表示されない分類項目になります。

次のコード例では、AssignCategories によって、件名に "ISV" が含まれる項目の制限が作成されます。最初に DAV 検索検索 (DASL) クエリを使用して、件名に "ISV" が含まれる受信トレイ内の項目をフィルター処理します。 AssignCategories は、 OutlookItem クラスを使用してフィルター処理された項目を反復処理し、文字列がアイテムによって返される場合は反復処理 します。カテゴリ が null 参照ではないか、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();
    }
}

関連項目