OL98: How to Retrieve All Recurring Appointments with Code

ID: Q181190

The information in this article applies to:

SYMPTOMS

When writing programming code that retrieves a set of calendar appointments in Microsoft Outlook 98, 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 the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

   http://www.microsoft.com/support/supportnet/refguide/default.asp

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 Automation code, you can do either of the following: 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 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.
      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 date/time 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

REFERENCES

For more information about creating solutions with Microsoft Outlook 98, please see the following articles in the Microsoft Knowledge Base:

   Article-ID: Q180826
   Title     : OL98: Resources for Custom Forms and Programming

   Article-ID: Q182349
   Title     : OL98: Questions About Custom Forms and Outlook Solutions

Additional query words: OutSol OutSol98
Keywords          : kbprg kbdta kbdtacode OffVBS 
Version           : WINDOWS:98
Platform          : WINDOWS
Issue type        : kbprb

Last Reviewed: May 17, 1999