从 Excel VBA 调用 Bloomberg BQL 查询

Calling Bloomberg BQL queries from Excel VBA

出于复杂的原因,我想在 VBA 中自动调用 Bloomi BQL 查询。

我正在将 Excel sheet 中的 BQL.Query 公式的输入从 VBA 脚本更改为 BQL.Query 公式,并将 Application.Calculate 调用为 运行 查询。显示变为“N/A 请求数据...”。在 VBA 中,我稍等片刻(使用 Wait()),甚至为了更好的措施而抛出一个 DoEvents()。

While rngOS.Value < 0
   Application.Calculate
   Sleep 2000   'Waits 2000 ms
   DoEvents
Wend

问题是,BQL.Query 就是没有 return。只有当我结束 VBA 脚本时,实际数据才会返回工作 sheet.

理想情况下,我会有一种同步方式来从 VBA 调用 BQL.Query 并等待 return.

欢迎所有建议!

这是一个指针:

实质上:稍后将函数安排到 运行,检查 BQL 是否完成(例如通过计算“N/A 请求数据”的数量),如果未完成,安排稍后再次调用该函数,等等。一旦 N/As 的计数降为 0,您就知道更新已完成,您可以继续执行其余代码。