我有一个交易(软件)程序,它连接到 Excel(通过 Excel RTD),以在我的工作表上实时显示价格。(我也做了一些计算。)但是,由于我完全忽略的原因,虽然不是总是如此,但很常见,我在工作表上看到的价格与我在软件中看到的价格相比有一些延迟。有时,Excel 中显示的价格延迟可能长达几分钟。由于 Excel RTD 应该实时提供数据,因此当信息太多时,它听起来就像将数据存储在某个地方。当我停用 Excel 和我的软件之间的链接时,价格会在我的工作表上持续更新几分钟(这些“几分钟”等于 Excel 和软件之间的延迟)。
这真的很烦人,因为我不知道为什么 Excel RTD 会延迟提供价格!我的工作表只有不到 300 个已填充的单元格,在我看来,这绝对算不上什么。当然,我的 Excel 节流阀限制设置为 0,以便获取每次更新。我还将文件从 a 更改为.xlsx
a .xlsb
,但除了文件大小之外没有任何变化。
这确实看起来好像 Excel 正在将数据存储在某处,但我不希望发生这种情况;我想要实时数据。
- 使用最新版本的 Office -
发生了什么事?如何才能实时获取 Excel 中的数据?
答案1
也许您可以考虑调整 Microsoft Excel 中的 RTD 间隔节流阀,通过 Excel 对象模型将节流间隔设置得更高:
- 在 Excel 中,转到 Visual Basic 编辑器(按 ALT+F11 或从宏菜单(工具菜单)中单击 Visual Basic 编辑器)。
- 在“立即”窗口(按 CTRL+G 或单击“视图”菜单上的“立即窗口”)中,键入以下代码:Application.RTD.ThrottleInterval = 1000
- 确保光标位于刚刚输入的行上,然后按 ENTER。
- 要验证其是否设置正确,请在“立即”窗口中键入以下 if 代码行:?Application.RTD.ThrottleInterval
- 如果你将光标放在此行的末尾并按 ENTER,它应该显示 1000。然后你就知道你的油门间隔设置正确。
查看这篇文章,看看是否有帮助: https://docs.microsoft.com/en-us/previous-versions/office/developer/office-xp/aa140060(v=office.10)#odc_xlrtdfaq_howconfigrtdthrottle