Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Outlook Appointment Recurrences

Status
Not open for further replies.

JamesMeadlock

Technical User
Jul 13, 2001
64
US
I've been trying for about 8 hours to figure this out:

I've tried to deduce what this support article says:

I'm getting CRAZY results... I'll include code & part of what it prints to the debug window... questions it raises for me:

1) Why does the count increase to the millions after a sort operation?

2) Why, when I try to access a reccurrence, does it raise an error?

3) GetRecurrencePattern only returns 1 or 0... that's not very useful

Thanks for any help!

The code:
Sub DoIt()
Dim olMAPI As Outlook.NameSpace
Dim Folder As Outlook.MAPIFolder
Dim colItems As Outlook.Items
Dim objItem As Outlook.AppointmentItem

Set olMAPI = GetObject("", "Outlook.Application").GetNamespace("MAPI")
Set Folder = olMAPI.Folders("Public Folders").Folders("All Public Folders").Folders("Entertainment")
Set colItems = Folder.Items
colItems.IncludeRecurrences = True
Debug.Print "#Items:" & colItems.Count
colItems.Sort "[Start]"
Debug.Print "#Items:" & colItems.Count

For Each objItem In colItems
Debug.Print objItem.Subject
Debug.Print objItem.IsRecurring
Debug.Print objItem.GetRecurrencePattern
If objItem.GetRecurrencePattern = True Then
Debug.Print "-->" & objItem(1).Subject
End If

Next



'Cleanup
Set olMAPI = Nothing
Set Folder = Nothing
Set colItems = Nothing
End Sub


The wacky results:
DoIt
#Items:10
#Items:2147483647
Steve Taylor
True
0
Shelly & Dave
True
1
Holly & Dave
True
1
DJ
True
1
Steve Taylor
True
0
 
Got it! :)

1) Need to sort before saying includerecurrences
2) The count after includerecurrences is a bug

Code:

Sub DoIt()
Dim olMAPI As Outlook.NameSpace
Dim Folder As Outlook.MAPIFolder
Dim colItems As Outlook.Items
Dim objItem As Outlook.AppointmentItem

Set olMAPI = GetObject("", "Outlook.Application").GetNamespace("MAPI")
Set Folder = olMAPI.Folders("Public Folders").Folders("All Public Folders").Folders("Entertainment")
Set colItems = Folder.Items
Debug.Print "#Items:" & colItems.Count
colItems.Sort "[Start]"
Debug.Print "#Items:" & colItems.Count
colItems.IncludeRecurrences = True
Debug.Print "#Items:" & colItems.Count

For Each objItem In colItems
Debug.Print objItem.Subject
Debug.Print objItem.Start
If objItem.GetRecurrencePattern = True Then
Debug.Print "-->" & objItem(1).Subject
End If

Next

Result: (I only have a month's worth of data in the Calendar)

DoIt
#Items:10
#Items:10
#Items:2147483647
Steve Taylor
9/1/01 1:00:00 PM
Shelly & Dave
9/1/01 6:00:00 PM
Holly & Dave
9/1/01 9:00:00 PM
DJ
9/1/01 10:30:00 PM
Steve Taylor
9/2/01 1:00:00 PM
Solo Piano
9/2/01 5:00:00 PM
Piano + Singer
9/2/01 8:00:00 PM
Steve Taylor
9/3/01 1:00:00 PM
Solo Piano
9/3/01 5:00:00 PM
Piano + Singer
9/3/01 8:00:00 PM
Steve Taylor
9/4/01 1:00:00 PM
Solo Piano
9/4/01 5:00:00 PM
Piano + Singer
9/4/01 8:00:00 PM
DJ
9/4/01 10:30:00 PM
Steve Taylor
9/5/01 1:00:00 PM
Solo Piano
9/5/01 5:00:00 PM
Piano + Singer
9/5/01 8:00:00 PM
DJ
9/5/01 10:30:00 PM
Steve Taylor
9/6/01 1:00:00 PM
Solo Piano
9/6/01 5:00:00 PM
Piano + Singer
9/6/01 8:00:00 PM
DJ
9/6/01 10:30:00 PM
Steve Taylor
9/7/01 1:00:00 PM
Shelly & Dave
9/7/01 6:00:00 PM
Holly & Dave
9/7/01 9:00:00 PM
DJ
9/7/01 10:30:00 PM
Steve Taylor
9/8/01 1:00:00 PM
Shelly & Dave
9/8/01 6:00:00 PM
Holly & Dave
9/8/01 9:00:00 PM
DJ
9/8/01 10:30:00 PM
Steve Taylor
9/9/01 1:00:00 PM
Solo Piano
9/9/01 5:00:00 PM
Piano + Singer
9/9/01 8:00:00 PM
Steve Taylor
9/10/01 1:00:00 PM
Solo Piano
9/10/01 5:00:00 PM
Piano + Singer
9/10/01 8:00:00 PM
Steve Taylor
9/11/01 1:00:00 PM
Solo Piano
9/11/01 5:00:00 PM
Piano + Singer
9/11/01 8:00:00 PM
DJ
9/11/01 10:30:00 PM
Steve Taylor
9/12/01 1:00:00 PM
Solo Piano
9/12/01 5:00:00 PM
Piano + Singer
9/12/01 8:00:00 PM
Steve Taylor
9/13/01 1:00:00 PM
Solo Piano
9/13/01 5:00:00 PM
Piano + Singer
9/13/01 8:00:00 PM
DJ
9/13/01 10:30:00 PM
Steve Taylor
9/14/01 1:00:00 PM
Shelly & Dave
9/14/01 6:00:00 PM
Holly & Dave
9/14/01 9:00:00 PM
DJ
9/14/01 10:30:00 PM
Steve Taylor
9/15/01 1:00:00 PM
Shelly & Dave
9/15/01 6:00:00 PM
Holly & Dave
9/15/01 9:00:00 PM
DJ
9/15/01 10:30:00 PM
Solo Piano
9/16/01 5:00:00 PM
Piano + Singer
9/16/01 8:00:00 PM
Solo Piano
9/17/01 5:00:00 PM
Piano + Singer
9/17/01 8:00:00 PM
Steve Taylor
9/18/01 1:00:00 PM
Solo Piano
9/18/01 5:00:00 PM
Piano + Singer
9/18/01 8:00:00 PM
Steve Taylor
9/19/01 1:00:00 PM
Solo Piano
9/19/01 5:00:00 PM
Piano + Singer
9/19/01 8:00:00 PM
Steve Taylor
9/20/01 1:00:00 PM
Solo Piano
9/20/01 5:00:00 PM
Piano + Singer
9/20/01 8:00:00 PM
Steve Taylor
9/21/01 1:00:00 PM
Solo Piano
9/21/01 5:00:00 PM
Holly & Dave
9/21/01 9:00:00 PM
Steve Taylor
9/22/01 1:00:00 PM
Solo Piano
9/22/01 5:00:00 PM
Holly & Dave
9/22/01 9:00:00 PM
Solo Piano
9/23/01 5:00:00 PM
Piano + Singer
9/23/01 8:00:00 PM
Solo Piano
9/24/01 5:00:00 PM
Piano + Singer
9/24/01 8:00:00 PM
Steve Taylor
9/25/01 1:00:00 PM
Solo Piano
9/25/01 5:00:00 PM
Piano + Singer
9/25/01 8:00:00 PM
Steve Taylor
9/26/01 1:00:00 PM
Solo Piano
9/26/01 5:00:00 PM
Piano + Singer
9/26/01 8:00:00 PM
Steve Taylor
9/27/01 1:00:00 PM
Solo Piano
9/27/01 5:00:00 PM
Piano + Singer
9/27/01 8:00:00 PM
Steve Taylor
9/28/01 1:00:00 PM
Solo Piano
9/28/01 5:00:00 PM
Holly & Dave
9/28/01 9:00:00 PM
Steve Taylor
9/29/01 1:00:00 PM
Solo Piano
9/29/01 5:00:00 PM
Holly & Dave
9/29/01 9:00:00 PM
Solo Piano
9/30/01 5:00:00 PM
Piano + Singer
9/30/01 8:00:00 PM

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top