Microsoft KB Archive/291167

= OL2002: How to Retrieve All Recurring Appointments with Code =

Article ID: 291167

Article Last Modified on 6/23/2005

-

APPLIES TO


 * Microsoft Outlook 2002 Standard Edition

-



This article was previously published under Q291167





SYMPTOMS
When writing programming code that retrieves a set of calendar appointments in Microsoft Outlook, you can only retrieve the first instance of a recurring appointment.



CAUSE
Recurring appointments are not automatically included in the collection of appointment items.



RESOLUTION
Set the collection's IncludeRecurrences property to True.



MORE INFORMATION
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals 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 needs. If you have limited programming experience, you may want to contact a Microsoft Certified Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site:

http://www.microsoft.com/partner/referral/

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

In Outlook, you can create a recurring appointment, such as a meeting that occurs every Monday. Using Visual Basic Scripting Edition (VBScript) or Visual Basic for Applications code, you can do either of the following:


 * Use the entire 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 entire collection of items, you can then use the IncludeRecurrences property to optionally include all of the recurring appointments. Next you would typically use the Restrict method if you want to use a subset of the entire 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 &quot;[Start]&quot;

' Display one of the recurring appointments which have been included. MsgBox &quot;The fifth instance of the recurring appointment &quot; & _ &quot;occurs on:&quot; & myItems.Item(5).Start

End Sub

