1

我正在尝试在 Windows 10 上将 RTD 与 Excel 2016 一起使用,并发现它不会在没有使用 VBA 编辑器中的“Application.RTD.RefreshData”强制更新的情况下刷新值。

我尝试了多个 RTD 服务器,但问题似乎只在 Excel 2016 和 Windows 10 组合中常见。Windows 7 和 Excel 2016 按预期工作。问题仅出在 Windows 10 上。使用 Excel 2013 和 Windows 10 即可。Excel 2016 具有所有最新更新,因此它与 2015 年底遇到的必须指定服务器的问题无关。微软随后修复了此错误。

举一个简单的例子,以http://blog.learningtree.com/excel-creating-rtd-server-c/中描述的 RTD 服务器为例,它会在第一次输入公式时在 Excel 单元格中给出一个值,但会不会自动“勾选”(刷新)该值。如果使用“Application.RTD.RefreshData”,则值会更新。

调试 RTD 服务器似乎 Excel 2016 没有像在其他操作系统或 Excel 版本中那样调用 RefreshData()。

我已经在两台机器上试过这个并且每次都可以复制它。在 Windows 10 上运行时,不禁觉得这是 Excel 2016 中的一个错误?

4

2 回答 2

0

当我使用 RTD 服务器时,我发现有时 RTD 连接问题与 UAC 有某种关系,而提升服务器的权限只会使问题消失。

于 2021-02-10T14:57:21.430 回答
0

我一直在玩“Application.RTD.ThrottleInterval”,这已经解决了。在使用 Excel 2016 全新安装的 Windows 10 上,默认值似乎是“2000”(尽管未写入注册表)。它的行为就像设置为“-1”一样。这是一种奇怪的安装行为,我现在在装有 Windows 10 和 Office 2016 的三台机器上遇到了这种情况。

现在手动将此值设置为 2000 会给出刻度值(重新启动 Excel 后)。它还在 Excel 会话中持续存在。因此,Windows 10 上的 Excel 安装程序(或 Excel 中的 RTD 初始运行)中的问题可能将此值设置为 -1 而不是记录的值 2000?

注册键:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office[…|14.0|15.0|16.0|…]\Excel\Options\RTDThrottleInterval

-1 -> 手动模式。从不自动刷新。必须调用 Excel.Application.RTD.RefreshData。

0 -> 每次有机会检查更新。

更大的 0 -> Excel 在获取更新之前至少等待指定的毫秒数。

于 2016-10-06T10:16:41.143 回答