Excel VBA:如何解决:当远程应用程序断开连接时DDE停止?

Excel VBA:如何解决:当远程应用程序断开连接时DDE停止?,excel,dde,vba,Excel,Dde,Vba,我有(.xlsm)文件通过DDE连接到prices提供商的流媒体应用程序,如果提供商应用程序断开连接(例如,由于网络断开连接),DDE链接停止,甚至VBA计划检查上次我的xlsm数据更新,以便通过ThisWorkbook.UpdateRemoteReferences=True使用Application.OnTime进行更新 让DDE作为应用程序进行一致链接的最佳方案是什么?如果远程提供程序更新暂时停止,OnTime将永久停止 最好的方法和理想方法是在提供者的应用程序服务器重新连接后立即让dde工

我有(.xlsm)文件通过DDE连接到prices提供商的流媒体应用程序,如果提供商应用程序断开连接(例如,由于网络断开连接),DDE链接停止,甚至VBA计划检查上次我的xlsm数据更新,以便通过
ThisWorkbook.UpdateRemoteReferences=True
使用
Application.OnTime
进行更新

让DDE作为
应用程序进行一致链接的最佳方案是什么?如果远程提供程序更新暂时停止,OnTime将永久停止

最好的方法和理想方法是在提供者的应用程序服务器重新连接后立即让dde工作 我现在不知道有没有办法

使用单元格赋值的引用集
=ProviderServer |节!字段

================

编辑以添加一个小的实时测试函数,该函数因我不知道的任何vba错误而停止
此函数位于单独的(无链接)xlsm文件中,但在一段时间后仍然停止,并且没有错误。我无法获取错误。我可以得到它最后一次启动的时间,但当OnTime调度代码停止时,我无法做出反应。

如果
应用程序.OnTime
未启动,则意味着
应用程序.OnTime
调用的函数被挂起或崩溃。我的建议是,您编写自己的
Sub
并使其从
应用程序调用。OnTime
——然后您可以使用
On Error
检查任何崩溃,也可以在函数成功退出时登录某个位置,这将显示它是否挂起。不幸的是,如果它挂起,我不知道如何中断它。

听起来你的提供商的流媒体应用程序断开了链接,而不是Excel。你能联系他们并询问如何重新建立它吗?我相信我能联系的提供商团队不会有答案,我使用我使用的是ThisWorkbook.UpdateRemoteReferences=True来再次更新链接,它可以工作,但问题是我需要这样做(单击::发射)在application.ontime中断或停止调度时手动执行,即使我尝试使用一个单独的实例xlsm文件(没有任何链接),只是为了每分钟调度和检查我的第一个xlsm,但它也会停止。甚至我测试了调度(Application.Ontime)以显示单元格中的当前时间,但它甚至在一段时间后停止,原因不明。也许还有另外一个函数可以测试dde连接,比如(SetLinkOnData)或(LinkSources)?为什么每个人都对这个问题投反对票?如果你有问题,发表评论,这样他就可以知道如何提出更好的问题。谢谢兄弟的支持。请检查我的编辑。也许还有另一种方法,我们可以获得一致的DDE连接!!感谢AnotherParker兄弟,您引导我尝试处理更多错误,但最终我需要继续代码。我有很多函数..是否可以为所有工作簿函数设置下一步的st.On Error Resume,因为我发现它只适用于具有该语句的母函数。。我很抱歉,因为他们可能会否决这个问题,因为我在C++室问过这个问题…(我喜欢程序员见面和现场聊天,但如果有,我不知道如何找到VBA室或windows室。不,如果不自己将其添加到所有函数中,就无法在下一步恢复时导致
。请查看Rubberduck项目,它可能会使对代码进行较大更改更容易。我已手动完成所有函数的更改。)ns.谢谢你的链接和一切。我一到家就会下载。我想它会非常有用。我真的很感激它。谢谢。我安装了它并成功地执行了注册表命令,但不幸的是我仍然收到错误消息。
Function TimingTest()
        Cells(4, 2).Value = Time
        Application.OnTime Now() + TimeValue("00:00:01"), "TimingTest"
End Function