The simplest way to read appointments is from the Appointments table, which automatically merges instances of single and recurring appointments.
The following sample code reads an appointment from the Appointments table:
Public Sub ReadAppts()
Dim objTable As Object
Dim objAppt As Object
'Get the Appointments table from the global Schedule object.
Set objTable = objSchedule.Appointments
'Set the desired date range.
objTable.SetRange #11/16/95#, #11/16/95#
'Iterate over all the rows in the table.
While Not objTable.IsEndOfTable
Set objAppt = objTable.Item
Debug.Print objAppt.Text, objAppt.Start, objAppt.End
objTable.Skip
Wend
'Release the objects.
Set objAppt = Nothing
Set objTable = Nothing
End Sub