Excel 2007自定义function区生成空白错误popup窗口

我有一个Excel 2007自定义function区加载项,在某些特定情况下会产生错误。 错误窗口是vbCriticaltypes的错误,带有红色的X,完全空白,只有一个“确定”button。 对于function区中的20个左右的命令,每个命令都会产生一个错误,导致用户多次点击以清除错误,之后恢复正常执行,不会对操作产生明显的影响。

从我的研究到目前为止,我已经确定这发生在Excel 2007中,当Excel不是最顶层的活动窗口时,由Excel在后台尝试某些function区操作。

在我的情况下,创build一个新的工作簿时,每次尝试将加载项的macros命令添加到quicktools菜单时,都不会发生。 我相信这是因为quicktools窗口在活动的Excel实例之上。

主题上的其他线程提示Ribbon.Invalidate,当它不能立即执行时调用,将产生错误。 此外,无论何时执行“getVisible”或“getEnabled”UI命令。 但是,我并不是在线程期间的任何地方调用Ribbon.Invalidate,只是在隔离和修改了键绑定之后,这两者都不会在工作簿创build时执行,或者将命令分配给quicktools。 另外,我不使用customUI.xml或VBA代码中任何地方的“getVisible”或“getEnabled”命令。

在这一点上,我感到茫然。 任何可以提供的帮助将非常感激。

经过一些额外的研究,我终于find了错误的根源。

这既不是对Invalidate的调用,也不是一个错误的命令。 相反,事实certificate这是因为我使用的不是Microsoft标准图像(imageMSO)文件的非16×16大小的图像。

狡猾的错误。 如果我打算使用自定义图标(我这样做),看起来好像没有办法来对付它。 我非常不喜欢这个function。