views:

120

answers:

0

I've got a simple bit of Outlook VBA which looks up the FreeBusy status of a number of meeting rooms to determine whether or not they are free.

In the last couple of days, the following code:

sResult = olRecipient.FreeBusy(olCurrentItem.Start, 15, True)

causes incomplete FreeBusy information to be returned, often all zero's.

If I then call it again a second later then I'd get a string which contained some of the correct FreeBusy information, but not all of it.

I then wrote a small loop which requested the FreeBusy information, waited a second and then requested it again. If the string returned had changed, then it would continue looping until the information returned was unchanged.

In several cases and on completely random rooms, it would take up to 5 seconds/attempts before the FreeBusy information stopped populating! Even then, it turned out that some of the rooms were still returning incomplete information.

My question therefore is: How on earth do I properly call the FreeBusy method on a room and know that the string returned is accurate?