Метод RecurrencePattern.GetOccurrence (Outlook)

Возвращает конкретный экземпляр объекта AppointmentItem на указанную дату.

Синтаксис

выражение. GetOccurrence( _StartDate_ )

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

Параметры

Имя Обязательный или необязательный Тип данных Описание
StartDate Обязательный Date Значение даты , представляющее местное время.

Возвращаемое значение

Объект AppointmentItem , представляющий конкретную встречу на указанную дату.

Замечания

Метод GetOccurrence создает ошибку, если в указанную дату не существует назначения этого ряда.

При работе с элементами повторяющихся встреч необходимо удалить все ранее существовавшие ссылки, получить новые ссылки на элемент повторяющейся встречи перед вызовом или изменением этого элемента и удалить эти ссылки сразу же по окончании внесения изменений и их сохранения. Эта практика применяется к повторяющимся объекту AppointmentItem и любому объектуException или RecurrencePattern . Чтобы освободить ссылку в Visual Basic для приложений (VBA) или Visual Basic, задайте для этого существующего объекта значение Nothing. В C# следует явно освободить память для этого объекта. Пример кода см. в разделе объекта AppointmentItem .

Обратите внимание, что даже после высвобождения ссылки и попытки получения новой ссылки, если по-прежнему существует активная ссылка на любой из вышеупомянутых объектов, удерживаемая другой надстройкой или приложением Outlook, новая ссылка будет указывать на устаревшую копию объекта. В связи с этим важно высвобождать ссылки немедленно после завершения текущей встречи.

Пример

В этом примере Visual Basic для приложений (VBA) для создания объекта AppointmentItem используется CreateItem. Объект RecurrencePattern получается для этого элемента с помощью метода GetRecurrencePattern. Задавая свойства RecurrencePattern , RecurrenceType, PatternStartDate и PatternEndDate, встречи теперь являются повторяющимися рядами, которые выполняются ежедневно в течение одного года.

Объект Exception создается при получении одного экземпляра этой повторяющейся встречи с помощью метода GetOccurrence , а свойства этого экземпляра изменяются. Это исключение из ряда встреч получается с помощью метода GetRecurrencePattern для доступа к коллекции Exceptions, связанной с этим рядом. В полях сообщений отображаются исходные subject и OriginalDate для этого исключения в последовательности встреч, а также текущая дата, время и тема для этого исключения.

Public Sub cmdExample() 
 
 Dim myApptItem As Outlook.AppointmentItem 
 
 Dim myRecurrPatt As Outlook.RecurrencePattern 
 
 Dim myNamespace As Outlook.NameSpace 
 
 Dim myFolder As Outlook.Folder 
 
 Dim myItems As Outlook.Items 
 
 Dim myDate As Date 
 
 Dim myOddApptItem As Outlook.AppointmentItem 
 
 Dim saveSubject As String 
 
 Dim newDate As Date 
 
 Dim myException As Outlook.Exception 
 
 
 
 Set myApptItem = Application.CreateItem(olAppointmentItem) 
 
 myApptItem.Start = #2/2/2003 3:00:00 PM# 
 
 myApptItem.End = #2/2/2003 4:00:00 PM# 
 
 myApptItem.Subject = "Meet with Boss" 
 
 
 
 'Get the recurrence pattern for this appointment 
 
 'and set it so that this is a daily appointment 
 
 'that begins on 2/2/03 and ends on 2/2/04 
 
 'and save it. 
 
 Set myRecurrPatt = myApptItem.GetRecurrencePattern 
 
 myRecurrPatt.RecurrenceType = olRecursDaily 
 
 myRecurrPatt.PatternStartDate = #2/2/2003# 
 
 myRecurrPatt.PatternEndDate = #2/2/2004# 
 
 myApptItem.Save 
 
 
 
 'Access the items in the Calendar folder to locate 
 
 'the master AppointmentItem for the new series. 
 
 Set myNamespace = Application.GetNamespace("MAPI") 
 
 Set myFolder = myNamespace.GetDefaultFolder(olFolderCalendar) 
 
 Set myItems = myFolder.Items 
 
 Set myApptItem = myItems("Meet with Boss") 
 
 
 
 'Get the recurrence pattern for this appointment 
 
 'and obtain the occurrence for 3/12/03. 
 
 myDate = #3/12/2003 3:00:00 PM# 
 
 Set myRecurrPatt = myApptItem.GetRecurrencePattern 
 
 Set myOddApptItem = myRecurrPatt.GetOccurrence(myDate) 
 
 
 
 'Save the existing subject. Change the subject and 
 
 'starting time for this particular appointment 
 
 'and save it. 
 
 saveSubject = myOddApptItem.Subject 
 
 myOddApptItem.Subject = "Meet NEW Boss" 
 
 newDate = #3/12/2003 3:30:00 PM# 
 
 myOddApptItem.Start = newDate 
 
 myOddApptItem.Save 
 
 
 
 'Release references to the appointment series 
 
 Set myApptItem = Nothing 
 
 Set myRecurrPatt = Nothing 
 
 
 
 'Get the recurrence pattern for the master 
 
 'AppointmentItem. Access the collection of 
 
 'exceptions to the regular appointments. 
 
 Set myItems = myFolder.Items 
 
 Set myApptItem = myItems("Meet with Boss") 
 
 
 
 Set myRecurrPatt = myApptItem.GetRecurrencePattern 
 
 Set myException = myRecurrPatt.Exceptions.Item(1) 
 
 
 
 'Display the original date, time, and subject 
 
 'for this exception. 
 
 MsgBox myException.OriginalDate & ": " & saveSubject 
 
 
 
 'Display the current date, time, and subject 
 
 'for this exception. 
 
 MsgBox myException.AppointmentItem.Start & ": " & _ 
 
 myException.AppointmentItem.Subject 
 
End Sub

См. также

Объект RecurrencePattern

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

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