How to use the Outlook object model to retrieve all recurring appointments (201101)
The information in this article applies to:
- Microsoft Office Outlook 2003
- Microsoft Outlook 2002
- Microsoft Outlook 2000
This article was previously published under Q201101 SUMMARY
When you are writing programming code that retrieves a set of calendar appointments
in Microsoft Outlook, recurring appointments are not automatically included in the collection of
appointment items.
If you want to retrieve all the recurring appointments, you must set the collection's IncludeRecurrences property to True.
MORE INFORMATIONMicrosoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
In Outlook, you can create a recurring appointment, such as a meeting that
occurs every Monday. Using Microsoft Visual Basic Scripting Edition (VBScript) or
Microsoft Visual Basic for Applications code, you can do either of the following: - Use the whole items collections to access all of the appointments.
- Use the Restrict method to retrieve a subset of the appointments.
For example, assume a recurring appointment was originally created on the
first Monday in January and the appointment was set to recur on every
Monday thereafter. If you do not use the IncludeRecurrences property, the
only appointment in January to be returned would be the first Monday.
Subsequently, if you retrieve the appointments in February, none of the
recurring appointments are retrieved.
When programmatically referring to a group of appointments, these items are
part of the Items collection object. Once you have set an object variable
to the whole collection of items, you can then use the IncludeRecurrences
property to optionally include all the recurring appointments. Next you
would typically use the Restrict method if you want to use a subset of the
whole collection. Then you could optionally sort the collection.
The following automation example assumes you have already set up one recurring appointment in your calendar and that you have the Calendar folder selected. Because it does not use the Restrict method, it will return all appointments in the Calendar.
Sub GetRecurrences()
Set myOlApp = New Outlook.Application
' Set myItems to all of the items in the folder. The Calendar
' folder must be selected before running this code.
Set myItems = myOlApp.ActiveExplorer.CurrentFolder.Items
' Set the IncludeRecurrences property to make sure all of the
' recurring appointments are also included in the collection.
myItems.IncludeRecurrences = True
' Sort the collection based on the start of the appointment.
myItems.Sort "[Start]"
' Display one of the recurring appointments which have been included.
MsgBox "The fifth instance of the recurring appointment " & _
"occurs on:" & myItems.Item(5).Start
End Sub
Modification Type: | Major | Last Reviewed: | 6/26/2006 |
---|
Keywords: | kbdtacode kbhowto kbProgramming KB201101 |
---|
|