Propriedade Items.IncludeRecurrences (Outlook)

Retorna um Boolean que indica True se a coleção de itens deve incluir padrões de recorrência. Leitura/gravação.

Sintaxe

expression. IncludeRecurrences

Expressão Uma variável que representa um objeto Items .

Comentários

Essa propriedade somente tem efeito se a coleção Items contiver compromissos e não estiver classificada por qualquer propriedade que não seja Iniciar em ordem crescente. O valor padrão é False. Use essa propriedade quando desejar recuperar todos os compromissos para uma determinada data, onde compromissos recorrentes normalmente não seriam exibidos porque elas não estiverem associadas a nenhuma data específica. Se você precisar classificar e filtrar itens de compromisso que contenham compromissos recorrentes, você deve fazê-lo nesta ordem: classificar os itens em ordem crescente, defina IncludeRecurrences como True e, em seguida, filtrar os itens. Para um exemplo de código mostrando nesta ordem, consulte o segundo exemplo abaixo. Se a coleção incluir compromissos recorrentes sem data final, a configuração da propriedade como True pode causar a coleção tenha uma contagem infinita. Certifique-se de incluir um teste para isso em qualquer loop. Você não deve usar a propriedade Count da coleção de itens ao iterar coleção Items com a propriedade IncludeRecurrence definida como True. O valor de Count será um valor indefinido.

Cuidado

[!CUIDADO] Filtrando uma lista classificada de ocorrências fará com que a propriedade IncludeRecurrences não funcionar conforme o esperado. Por exemplo, a sequência a seguir retornará todas as ocorrências de compromisso; recorrente e não recorrente: (1) Classificar por propriedade Iniciar (2) Definir propriedade como False (3) chamar Restringir (ou seja, filtrar).

Exemplo

O seguinte exemplo do Visual Basic for Applications (VBA) exibe o assunto dos compromissos que ocorrem entre hoje e amanhã, incluindo compromissos repetidos.

Sub DemoFindNext() 
 
 Dim myNameSpace As Outlook.NameSpace 
 
 Dim tdystart As Date 
 
 Dim tdyend As Date 
 
 Dim myAppointments As Outlook.Items 
 
 Dim currentAppointment As Outlook.AppointmentItem 
 
 
 
 Set myNameSpace = Application.GetNamespace("MAPI") 
 
 tdystart = VBA.Format(Now, "Short Date") 
 
 tdyend = VBA.Format(Now + 1, "Short Date") 
 
 Set myAppointments = myNameSpace.GetDefaultFolder(olFolderCalendar).Items 
 
 myAppointments.Sort "[Start]" 
 
 myAppointments.IncludeRecurrences = True 
 
 Set currentAppointment = myAppointments.Find("[Start] >= """ & _ 
 
 tdystart & """ and [Start] <= """ & tdyend & """") 
 
 While TypeName(currentAppointment) <> "Nothing" 
 
 MsgBox currentAppointment.Subject 
 
 Set currentAppointment = myAppointments.FindNext 
 
 Wend 
 
End Sub

O exemplo abaixo mostra a ordem em que você deve classificar e filtrar itens de compromisso que contenham compromissos recorrentes.

Sub SortAndFilterAppointments() 
 
 Dim myNameSpace As Outlook.NameSpace 
 
 Dim myAppointments As Outlook.Items 
 
 
 
 Set myNameSpace = Application.GetNamespace("MAPI") 
 
 Set calendarItems = myNameSpace.GetDefaultFolder(olFolderCalendar).Items 
 
 calendarItems.Sort "[Start]" 
 
 calendarItems.IncludeRecurrences = True 
 
 Set restrictedItems = calendarItems.Restrict("[Organizer]='Dan Wilson'") 
 
End Sub

Confira também

Objeto Items

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.