我有一个 Excel 表,其中包含指向实时市场数据的 dde 链接。我使用计时器每秒查看 dde 价格。然后在满足某些条件时提交订单。我尝试了一个中间带有 DoEvent 的无限循环,它工作了 5 秒,然后冻结了工作簿。
有没有办法响应 dde 更新的变化?更改事件不会检测到它们。它只是检测用户何时进行手动更改。
有人告诉我,如果我有条件格式,就有办法获取该事件。因此,我可以创建一个单元格公式以在满足我的条件时变为真,然后在条件为真时将该单元格格式化为某种格式,然后选择格式更改事件。那可能吗?如果有怎么办。任何建议,将不胜感激。
澄清:我想在 VBA 中选择一个事件,该事件将提交交易股票的订单。我现在这样做的方式是使用一个计时器,该计时器循环遍历所有行,以在触发器列中寻找真正的单元格。一旦找到它就会关闭该行的标志(将 true 条件设置为 false)并提交订单。
问题在于,对于快速移动的股票来说,一秒钟是永恒的。因此,当触发器列中的单元格变为真时,我需要在 VBA 中引发一个事件,这样我就可以立即响应,而不是等待计时器类的第二个间隔。
据我所知,您不能调用值小于一秒的计时器。如果我可以使用毫秒,我的问题就会得到解决。我只是每 10 毫秒循环一次列表。
据我所知,我无法在 VBA 中创建另一个线程。如果可以的话,我会做一个无限循环,并在每次迭代后让它休眠 10 毫秒左右。
据我所知,我无法将 dde 直接拉入 VBA 甚至 .net,因为 MSDN 表示不再支持它。
我希望这可以澄清。所有建议表示赞赏。