How to read single instance of recursive meetings in Outlook

  • Thread starter Thread starter sindhura
  • Start date Start date
S

sindhura

Hi,

I am creating an Add-in for Outlook in Vb.net . I need to read the
meetings between a given duration from a shared calendar. I am able
to
read the non recursive meetings but when i try to read the recursive
meetings it always gives an item count of "2147483647".
I want the total count of meetings ( recursive + non recursive)
between the given time which should count only that instance of the
recursive meeting .
Here is the code sample which i am using:
Dim oApp As New Microsoft.Office.Interop.Outlook.Application
Dim oappt As Microsoft.Office.Interop.Outlook.AppointmentItem
Dim oNs As Microsoft.Office.Interop.Outlook.NameSpace
Dim oCalendar As Microsoft.Office.Interop.Outlook.MAPIFolder
Dim instance As Microsoft.Office.Interop.Outlook.Items
Dim oItems As Microsoft.Office.Interop.Outlook.Items
Dim recipient As Microsoft.Office.Interop.Outlook.Recipient
Dim oTask As Microsoft.Office.Interop.Outlook.TaskItem
Dim sSearch As String
Dim name1 As String
Dim date1 As String
oNs = oApp.GetNamespace("mapi")
oNs.Logon()
name1 = TextBox1.Text
date1 = DateTimePicker1.Text
recipient = oNs.CreateRecipient(name1)
oCalendar = oNs.GetSharedDefaultFolder(recipient,
Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderCalendar)
oItems = oCalendar.Items
oItems.IncludeRecurrences = True
oItems.Sort("[Start]")
sSearch = "[START] >= '" & Format(date1) & " " & j & " ' and [START]
<= '" & Format(date1) & " " & k & " ' or [START] <'" &
Format(date1) & " " & j & " ' and [END] > '" & Format(date1) & " " &
j & " ' "
oItems = oItems.Restrict(sSearch)
If oItems.Count > 0 Then
TextBox3.Text = "Busy"
Else
TextBox3.Text = "Free"
End If

Can anyone please suggest me how to proceed.

Thank you
 
If a recurring series has no end date and you set IncludeRecurrences you
will always get that count of recurrences.

You will need to get the starting instance using the GetOccurrence() method
and then you need to add the recurrence pattern to that start date and
derive the next date and use GetOccurrence() again, and so on. If a specific
occurrence isn't found for a specific date you then need to examine the
Exceptions collection to find if an occurrence on that date was moved or
deleted.
 
Back
Top