Compartilhar via


Atribuir categorias a um item

Este exemplo mostra como atribuir categorias a um item usando a propriedade Categories.

Exemplo

Observação

O exemplo de código a seguir foi tirado do artigo Programação de aplicativos do Microsoft Office Outlook 2007.

Para atribuir categorias a um item, use a propriedade Categories. Esta amostra de código utiliza a classe auxiliar OutlookItem, definida em Criar uma classe auxiliar para acessar membros comuns de itens do Outlook, para chamar convenientemente a propriedade OutlookItem.Categories sem ter que lançar o item primeiro. A propriedade Categories obtém ou define categorias representadas por uma cadeia delimitada por vírgula que pode conter no máximo 255 caracteres. Vírgulas e espaços são usados para separar os valores da categoria. Atribuir uma categoria que não esteja no conjunto Categories do objeto NameSpace fará com que a categoria não exiba uma cor.

No exemplo de código a seguir, AssignCategories cria uma restrição para itens que contêm “ISV” no assunto, primeiro usando uma consulta DAV Searching and Locating (DASL) para filtrar itens na Caixa de Entrada que contenham “ISV” no assunto. Em seguida, AssignCategories percorre os itens filtrados usando a classe OutlookItem e, se a cadeia de caracteres retornada por item.Categories não for uma referência nula ou já tiver sido atribuída à ISV, a categoria ISV será atribuída ao item.

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

Confira também