WORKAROUND
To work around this problem and receive the correct results, use the following function:
Function GetAccurateFreeBusy(TargetRecip, StartDate, Interval)
Dim strFB_1, strCorrectFB, i, n, blnBusyFlag
On Error Resume Next
strFB_1 = TargetRecip.AddressEntry.GetFreeBusy(StartDate, 1, Complete)
If Err.Number <> 0 Then
Exit Function
End If
For i = 1 To Len(strFB_1) Step Interval
blnBusyFlag = False
For n = 0 To (Interval - 1)
If Mid(strFB_1, i + n, 1) = "1" Then
blnBusyFlag = True
End If
Next
If blnBusyFlag Then
strCorrectFB = strCorrectFB & "1"
Else
strCorrectFB = strCorrectFB & "0"
End If
Next
GetAccurateFreeBusy = strCorrectFB
End Function
GetAccurateFreeBusy Function
The
GetAccurateFreeBusy function returns a string that represents the availability of the recipient for a period of 30 days from the StartDate, which begins at midnight of the date specified.
GetAccurateFreeBusy (TargetRecip, StartDate, Interval)ArgumentsTargetRecip Required. Valid recipient object. If the TargetRecip is not a valid recipient, the
GetAccurateFreeBusy returns a zero-length string.
StartDate Required. Valid date/time.
Interval Required. The Integer represents the number of minutes in each free/busy interval.
Remarks
The following example obtains the free/busy information by using a 90 minute interval:
MyString = GetAccurateFreeBusy(Application.Session.CurrentUser, Date, 90)
REFERENCES
For additional information about available resources and answersto commonly asked questions about Microsoft Outlook solutions, click the article number below
to view the article in the Microsoft Knowledge Base:
287530 OL2002: Questions About Custom Forms and Outlook Solutions