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
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.