2010-02-11 4 views
2

J'ai Outlook VBA qui recherche le statut FreeBusy d'un certain nombre de salles de réunion.Comment obtenir la méthode "FreeBusy" pour renvoyer des informations complètes?

Le code suivant:

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

renvoie des informations incomplètes FreeBusy, souvent des zéros. Si je l'appelle à nouveau une seconde plus tard, j'obtiens une chaîne qui contient certaines des informations FreeBusy correctes.

J'ai écrit une petite boucle qui a demandé l'information FreeBusy, j'ai attendu une seconde puis je l'ai encore demandée. Si la chaîne renvoyée avait changé, elle continuerait à boucler jusqu'à ce que l'information retournée soit inchangée.

Dans plusieurs cas et dans des pièces complètement aléatoires, il faudrait jusqu'à 5 secondes/tentatives avant que les informations FreeBusy ne se remplissent! Même alors, il s'est avéré que certaines chambres restaient toujours des informations incomplètes.

Ma question est donc: Comment appeler la méthode FreeBusy sur une pièce et savoir que la chaîne renvoyée est exacte?

+0

Quel type d'élément représente olCurrentItem? La seule référence que je trouve à "Démarrer" dans le modèle d'objet VBA d'Outlook est à SyncObject.Start. Rien d'autre a une méthode Start. – JimmyPena

Répondre

0

Vous pouvez essayer http://msdn.microsoft.com/en-us/library/bb646996(v=office.12).aspx ou http://msdn.microsoft.com/en-us/library/bb219898(v=office.12).aspx. J'ai essayé ce qui suit, ça fonctionne bien pour moi. Si vous utilisez Visual Studio, mieux déboguer les résultats de l'info f/b.

+1

Merci pour les liens. Cependant les deux semblent montrer comment utiliser la méthode FreeBusy et semblent supposer que l'information retournée est correcte la première fois - quel est le problème que j'ai. – Richard

Questions connexes