Outlook VBA教程:GetOccurrence方法

GetOccurrence方法返回在指定日期发生的AppointmentItem对象的特定实例。

注意  如果在指定日期不存在该系列的约会,GetOccurrence方法将产生错误。

expression.GetOccurrence(StartDate)

expression  必选。该表达式返回“应用于”列表中的一个对象。

StartDate  必选,Date 类型。代表当地时间。

VBA示例

本 Visual Basic for Applications 示例使用CreateItem 创建AppointmentItem对象。使用GetRecurrencePattern方法获得该项目的RecurrencePattern属性。通过设置 RecurrencePattern属性(包括RecurrenceTypePatternStartDatePatternEndDate),使该约会成为在一年中的每天发生的定期系列。

如果使用GetOccurrence方法获得定期约会的一个实例,并且该实例的属性发生改变时,将创建Exception对象。可以使用 GetRecurrencePattern方法访问与系列相关的Exceptions集合,从而获得约会系列的例外。消息框将显示该约会系列例外的原始SubjectOriginalDate属性,还将显示该例外的当前日期、时间及主题。

关于在 VBScript 中使用本示例的更改说明,请查看示例末尾的“注意”。


Public Sub cmdExample()
    Set myOlApp = New Outlook.Application
    Set myApptItem = myOlApp.CreateItem(olAppointmentItem)
    myApptItem.Start = #2/2/98 3:00:00 PM#
    myApptItem.End = #2/2/98 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/98 and ends on 2/2/99
     'and save it.
    Set myRecurrPatt = myApptItem.GetRecurrencePattern
    myRecurrPatt.RecurrenceType = olRecursDaily
    myRecurrPatt.PatternStartDate = #2/2/98#
    myRecurrPatt.PatternEndDate = #2/2/99#
    myApptItem.Save
    'Access the items in the Calendar folder to locate
    'the master AppointmentItem for the new series.
    Set myNamespace = myOlApp.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/98.
    myDate = #3/12/98 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/98 3:30:00 PM#
    myOddApptItem.Start = newDate
    myOddApptItem.Save
    'Get the recurrence pattern for the master
    'AppointmentItem. Access the collection of
    'exceptions to the regular appointments.
    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

注意  要在 VBScript 中正确地运行本示例,需要在代码中做一些简单的修改。

不必以对象的形式检索应用程序,并且必须使用常量的值,因此:


Set myOlApp = New Outlook.Application
    Set myApptItem = myOlApp.CreateItem(olAppointmentItem)

修改为:


Set myApptItem = Application.CreateItem(1)

并且


myRecurrPatt.RecurrenceType = olRecursDaily

修改为:


myRecurrPatt.RecurrenceType = 0

并且


Set myFolder = myNamespace.GetDefaultFolder(olFolderCalendar)

修改为:


Set myFolder = myNamespace.GetDefaultFolder(9)

上页:Outlook VBA教程:GetNext方法 下页:Outlook VBA教程:GetPageInfo方法

Outlook VBA教程:GetOccurrence方法:相关链接

Outlook VBA教程:GetPageInfo方法 Outlook VBA教程:GetPrevious方法
Outlook VBA教程:GetRecipientFromID方法 Outlook VBA教程:GetRecurrencePattern方法
Outlook VBA教程:GetSharedDefaultFolder方法 Outlook VBA教程:GoToDate方法
Outlook VBA教程:HideFormPage方法 Outlook VBA教程:IsPaneVisible方法
Outlook VBA教程:IsSearchSynchronous方法 Outlook VBA教程:IsWordMail方法
Outlook VBA教程:Item方法 Outlook VBA教程:Logoff方法
Outlook VBA教程:Logon方法 Outlook VBA教程:MarkComplete方法
Outlook VBA教程:Move方法 Outlook VBA教程:MoveTo方法
Outlook VBA教程:OnStatusChange方法 Outlook VBA教程:PickFolder方法
Outlook VBA教程:Post方法 Outlook VBA教程:PrintOut方法
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号