2010-11-28 38 views
4

J'ai un script qui importe des données externes dans la feuille de calcul, ce qui affecte à son tour certaines formules =BDP(...). Idéalement, je voudrais faire quelques vérifications sur les résultats BDP immédiatement après avoir copié les données. Le complément Bloomberg Excel est mis à jour de manière asynchrone. Comment attendre les résultats et reprendre le script? Il semble que les résultats ne sont importés qu'après la fin du script VBA, quelle que soit la durée de son exécution.VBA: Attente des appels Bloomberg BDP pour terminer

Merci à l'avance Martin

Répondre

7

j'ai construit quelque chose de similaire en utilisant BDH. J'ai dû relâcher le contrôle pour que le complément Bloomberg puisse aller chercher les données, puis reprendre mon code. J'ai été capable de le faire en utilisant Application.OnTime. Par exemple, si vous avez une fonction 'CheckForData' qui affecte les appels = BDP, et une autre fonction appelée 'ProcessData' qui vérifie les résultats, faites un appel asynchrone à 'ProcessData' dans 'CheckForData', par ex.

Sub CheckForData 
    ' Your code here 
    Application.OnTime Now + TimeValue("00:00:05"), "ProcessData" 
End Sub 

Ensuite, dans 'ProcessData', effectuez vos vérifications.