RecurrencePattern.GetOccurrence 方法 (Outlook)
在指定的日期返回 AppointmentItem 对象的特定的实例。
语法
expression。 GetOccurrence
( _StartDate_
)
表达 一个代表 RecurrencePattern 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
StartDate | 必需 | Date | 日期 值表示本地时间。 |
返回值
AppointmentItem 对象,该对象代表在指定日期的特定约会。
备注
如果该系列没有约会存在于指定的日期, GetOccurrence 方法将生成错误。
当使用定期约会项目时,应释放任何先前的引用、 访问或修改项目,并释放这些引用,一旦完成并保存所做的更改之前获取新的定期约会项引用。 这种做法适用于周期性的 AppointmentItem 对象,以及任何 异常 或 RecurrencePattern 对象。 若要释放 (VBA) 或 Visual Basic 中 Visual Basic for Applications 的引用,设置为 Nothing ,现有对象。 在 C# 中,显式释放该对象的内存。 有关代码示例,请参阅 AppointmentItem 对象的主题。
请注意,即使是在您释放引用并尝试获取新引用之后,如果仍存在对以上对象之一的活动引用(由另一个加载项或 Outlook 保存),则新引用也仍将指向对象的过期副本。 因此,在完成使用定期约会后立即释放引用非常重要。
示例
此 Visual Basic for Applications (VBA) 示例使用 CreateItem 创建一个 AppointmentItem 对象。 RecurrencePattern 是为此物料使用 GetRecurrencePattern 方法得到的。 通过设置 RecurrencePattern 属性、 介于 1 、 PatternStartDate 和 PatternEndDate ,约会现在是每天都发生的一年期定期系列。
使用 GetOccurrence 方法来获取此定期约会的一个实例和该实例的属性会被更改时,创建的 异常 对象。 使用 GetRecurrencePattern 方法来访问这一系列与关联的 异常 集合中获得约会系列到此异常。 消息框显示原始 主题 和 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
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。