我最近从 bbg chat 收到了这个答案。我想这就是我们都在寻找的...
bbg 帮助台:通常我们不会在帮助台上提供有关 VBA 的帮助,但我找到了以下内容。您可以使用以下 VBA 命令刷新 BDx() 公式:
Refresh based on default option setting: Application.Run "RefreshData"
Refresh current selection: Application.Run "RefreshCurrentSelection"
Refresh current worksheet: Application.Run "RefreshEntireWorksheet"
Refresh current workbook: Application.Run "RefreshEntireWorkbook"
Refresh all workbooks: Application.Run "RefreshAllWorkbooks"
注意:使用 VBA 宏刷新 Bloomberg 公式时,在触发刷新的宏正在运行时,公式无法完成请求数据。您必须使用 Application.OnTime() 安排第二个函数在触发刷新退出的子例程之后运行。以下代码片段演示了刷新所有工作簿的 VBA 代码,然后在调用 processSheet 子例程之前有 10 秒的延迟:
Sub refreshSheet()
Application.Run "RefreshEntireWorksheet"
Application.OnTime (Now + TimeValue("00:00:10")), "processSheet"
End Sub
Sub processSheet()
' perform processing here
End Sub