Поделиться через


Свойство Items.IncludeRecurrences (Outlook)

Возвращает логическое значение, указывающее значение True , если коллекция Items должна включать шаблоны повторения. Для чтения и записи.

Синтаксис

выражение. IncludeRecurrences

Выражение Переменная, представляющая объект Items .

Замечания

Это свойство действует только в том случае, если коллекция Items содержит встречи и не отсортирована по свойству, отличному от Start , в порядке возрастания. Значение по умолчанию — False. Используйте это свойство, если требуется получить все встречи для заданной даты, когда повторяющиеся встречи обычно не отображаются, так как они не связаны с какой-либо конкретной датой. Если вам нужно отсортировать и отфильтровать элементы встреч, которые содержат повторяющиеся встречи, это необходимо сделать в следующем порядке: отсортировать элементы по возрастанию, задать для параметра IncludeRecurrences значение True, а затем отфильтровать элементы. Пример кода, показывающий этот порядок, см. во втором примере ниже. Если коллекция включает повторяющиеся встречи без даты окончания, установка для свойства значения True может привести к бесконечному числу коллекций. Обязательно включите тест для этого в любой цикл. Не следует использовать свойство Count коллекции Items при итерации коллекции Items со свойством IncludeRecurrence , для которых задано значение True. Значение Count будет неопределенным.

Предостережение

Фильтрация по отсортированного списка вхождений приведет к тому, что свойство IncludeRecurrences не будет работать должным образом. Например, следующая последовательность вернет все вхождения встреч. повторяющиеся и не повторяющиеся: (1) Сортировка по свойству Start (2) Задайте для свойства значение False (3) call Restrict (т. е. фильтр).

Пример

В следующем примере Visual Basic для приложений (VBA) отображается тема встреч, которые происходят в период с сегодняшнего по завтрашний день, включая повторяющиеся встречи.

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

В приведенном ниже примере показан порядок сортировки и фильтрации элементов встреч, содержащих повторяющиеся встречи.

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

См. также

Объект Items

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.