如何:Excel功能区包含多个具有动态属性的工作簿级功能区项?

时间:2009-12-21 16:34:48

标签: xml vba add-in excel-2007 ribbon

我正在尝试制定一个解决方案,以跨工作簿分享我的大部分VBA代码库。这涉及创建一个包含共享模块和文件的.xlam文件。班级(+各自的工厂)。

我愿意使用Office 2007的精彩RibbonUI,并让.xlam文件声明一个自定义标签(让我们为了参数而称之为MyTab)。如果用户具有特定权限(我通过VBA管理),我需要MyTab才显示一些元素。

除此之外,我希望我的其他工作簿能够将内容添加到MyTab中,这些内容也可能包含动态元素(使用VBA)。

我面临的问题是,每当我遇到工作簿引用AddIn.xlam并声明动态功能区元素的情况时,Excel会尝试一次刷新所有内容,从而在两个单独的线程中调用VBA代码(我猜),最终失败了(因为VBA在Excel中是单线程强制的),并生成空白对话框,只有“400”写在那些和两个按钮“确定”和“帮助”。

有人有过如何最好地解决这个问题的经验吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过设置Application.MultiThreadedCalculation = False

我相信这会纠正你的问题。