2

我正在开发一个 Excel-2007/VBA 应用程序,其中自定义了 ribon 并且确实遇到了一个大问题。

在我的 Robbpn 中,有 10 个按钮附加了一个 getVisible 回调,一个还有一个动态标签(也使用回调)(= 总共 11 个回调)。这些都工作正常。

然而确实出现了两个问题:

1 不那么重要但可能相关)当我在 VBA 中设置断点运行我的宏程序时,一旦该断点出现并且 VBA 编辑器出现,我会收到 11 次警报,显示消息:无法在中断模式下执行代码。

2(重要错误)。在我的 VBA 应用程序中,我正在使用 Connection.ODBCConnection.Refresh 进行 sql 查询。这个查询很慢。大约 10 秒后,尽管 screenupdating=false,但我的窗口背景会更改(变为浅蓝色)。此时出现 11 个错误警报中的第一个。这些警报不包含任何文本,仅包含 vbCritical 图标、确定和帮助按钮。当按下 OK 按钮(11 次)时,我的程序继续完成刷新,一切都很好。

无论如何要消除这些警报。(顺便说一下,on 错误不会捕获它们,也不受 Application.displayAlerts true 或 false 或 screenUpdating true 或 false 的影响)。

有人有一些解决这个问题的技巧吗?伟大的约翰

4

1 回答 1

-1

我找到了解决方案。在公式的高级 Excel 选项中关闭多标题计算。我发现其他文档表明功能区回调不是线程安全的。

第 1 项是使用功能区时的预期行为。第二项不是有意的,我还没有找到解决方案。就我而言,发生这种情况时,我的功能区复选框将失去其状态。

于 2013-02-05T21:54:01.887 回答