“Microsoft Office Excel 正在等待另一个应用程序完成 OLE 操作”是啥意思。意思是?

Posted

技术标签:

【中文标题】“Microsoft Office Excel 正在等待另一个应用程序完成 OLE 操作”是啥意思。意思是?【英文标题】:What does "Microsoft Office Excel is waiting for another application to complete an OLE action." mean?“Microsoft Office Excel 正在等待另一个应用程序完成 OLE 操作”是什么意思。意思是? 【发布时间】:2011-08-25 16:22:07 【问题描述】:

我有一个与here 描述的类似的工作 RTD Excel 自动化加载项。间歇性地,在尝试加载包含此公式的工作表时,我收到以下错误:

Microsoft Office Excel 正在等待另一个应用程序完成 一个 OLE 操作。

我已根据一些论坛讨论(我无法再找到)选中并取消选中“忽略使用动态数据交换 (DDE) 的其他应用程序”。两者都不起作用。

Google 针对此错误产生了很多点击,但没有解决方案。有一个ancient knowledge base article here,但同样没有解决方案。

是什么导致了这个错误?有什么办法可以避免吗?

谢谢!

【问题讨论】:

【参考方案1】:

尝试使用 Application.DisplayAlerts = False 停止显示警报。

【讨论】:

这只是禁用警告,但不能解决根本问题,即加载项阻止 Excel 执行。【参考方案2】:

在调试器中启动 Excel 并点击 break all 后,我的加载项似乎在 ConnectData 中死锁。这一次你赢了 Excel。

【讨论】:

您能否提供更多有关此死锁的信息?我有确切的问题。我说打破一切,它工作得很好。但不知道如何修复它 Excel 正在其主 UI 线程上调用您的函数,但您的函数没有返回。在调试器中调出 Excel 并找出您在函数中的位置。总之,你的代码有问题。 弗兰克你断断续续地说你是怎么调试的?我有确切的问题,但无法在我的开发 PC 上出错。您的 ConnectData 代码是在启动时还是在其他地方?如果您有时间回复,非常感谢。 @darbid 重现错误只需在 ConnectData 上添加睡眠调用。查看您在 ConnectData 中所做的工作,以确保没有长时间运行的同步调用。所有网络调用都应该是异步的。我希望这会有所帮助! 谢谢,但当我说“准确”时,我并不是说真的准确。 :-) 我有错误消息,它间歇性地发生,但我没有处理 ConnectData 代码。【参考方案3】:

有点晚了,但它可能对某人有所帮助:

我只是遇到了同样的问题,我找到了一种方法来了解有关此错误消息的更多信息。

在excel崩溃/冻结并显示此消息后,您可以进入Windows事件查看器(控制面板->系统和维护->管理工具->双击事件查看器)以获取更多详细信息。

在我的例子中(一个 VSTO 插件),我在网络运行时遇到了一个错误,我无法用调试器捕捉到该错误。它与 System.AccessViolationException 和对本机 dll 的调用有关。

所以看看事件查看器吧!

【讨论】:

以上是关于“Microsoft Office Excel 正在等待另一个应用程序完成 OLE 操作”是啥意思。意思是?的主要内容,如果未能解决你的问题,请参考以下文章