Filtrar itens que não têm categorias

Este tópico mostra um exemplo de código que usa uma consulta DASL (Pesquisa e Localização de DAV) para filtrar itens na pasta atual que não têm nenhuma categoria atribuída a eles. Observe que filtrar itens com uma sequência de caracteres vazia em suas categorias requer uma consulta DASL; a sintaxe do Microsoft Jet não oferece suporte a esses filtros.

Ao filtrar uma sequência de caracteres vazia com uma consulta DASL, você pode usar a palavra-chave É Nulo. As operações de É Nulo são úteis para determinar se uma propriedade de sequência de caracteres está vazia ou se uma propriedade de data foi definida. Para obter mais informações, consulte Filtrando itens usando palavras-chave da consulta.

O exemplo de código configura um filtro DASL na propriedade Categories, que na consulta DASL é expressada no namespace do Office como urn:schemas-microsoft-com:office:office#Keywords. O filtro compara o valor da propriedade Categories com uma cadeia de caracteres vazia usando a palavra-chave Is Null . O exemplo de código aplica então o filtro a itens na pasta atual. Em seguida, imprime o número de itens na pasta atual que não possuem categorias.

Sub NullCategoryRestriction() 
 Dim oFolder As Outlook.Folder 
 Dim oItems As Outlook.Items 
 Dim Filter As String 
 
 'DASL Filter can test for null property. 
 'This will return all items that have no category. 
 Filter = "@SQL=" & Chr(34) & _ 
 "urn:schemas-microsoft-com:office:office#Keywords" & _ 
 Chr(34) & " is null" 
 Set oFolder = Application.ActiveExplorer.CurrentFolder 
 Set oItems = oFolder.Items.Restrict(Filter) 
 Debug.Print oItems.Count 
End Sub

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.