私はBloombergからの履歴データを取得するVBAのカスタムクラスを持っています。クラスとそれが使用するBloombergオブジェクトは非同期であり、RTDプラットフォームに基づいています。非同期DataClass post実行中Exit Sub
問題は、私はこのカスタムクラスを呼び出すSubsを実行することですが、カスタムクラスのイベント処理コードはSubが終了した後にのみ実行されます。
Dim bbHist As New HistDataControl
Sub PullDataAndDoStuff()
bbHist.MakeHistRequest StockTicker, "MOV_AVG_50D", startDate, Date
Call DoStuffWithTheData
End Sub
Private Sub DoStuffWithTheData()
..... 'None of this works, because MakeHistRequest/bbHist class hasn't run
End Sub
bbHistが実行されるまでExcelを強制的に待機させる方法はありますか?
まだ完了しているかどうかを確認するプロパティがありますか?もしそうなら、 'DoEvents'を' Do Until'ループに入れ、そのプロパティをチェックするだけです。 – braX
私は間違いなく単純なTrue/Falseをそこに追加して、完了すると投げることができます。私はDoEventsを使用したことはありません - 私は私のメインSub(PullDataAndDoStuff)に入れますか? – keynesiancross
「私はVBAでカスタムクラスを持っています」 - そのクラスについて何か知る必要があるようです。たとえばイベントを発生させますか? –