我有通过以下公式从 RTD 服务器获取数据的工作表:
=RTD("tos.rtd", , "ASK", ".SPX150220C750")
我想每隔 1 分钟左右保存一次带有上述公式的工作表。挑战在于暂停 VBA 代码并确保在我们保存之前,单元格中的值已更新。我已经尝试了以下代码。
Sub Archiving()
For i = 0 To 4
Worksheets("Test").Activate
Application.Sheets("Test").Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="D:\Save " & i & ".csv", FileFormat:=xlCSV
ActiveWorkbook.Save
ActiveWindow.Close
Windows("Real time data.xlsm").Activate
Application.DisplayAlerts = True
Application.Wait (Now + TimeValue("0:00:05"))
ActiveWorkbook.RefreshAll
DoEvents
Next i
End Sub
代码不起作用,仅仅是因为 DoEvents 一直等到 RTD 完成更新,而这永远不会。我还看到了显式暂停与 DB 的连接的示例,但我不知道如何调整它的 RTD 服务器案例。我试图从 C# 运行 RTD 服务器,但失败得很惨。C# 中的 RTD 用于傻瓜有 什么建议吗?