我正在尝试制定一个解决方案,以便跨工作簿共享我的VBA代码库大部分内容。这包括创建一个.xlam
文件,该文件将包含共享模块&类(+他们各自的工厂)。如何:带有动态属性的多个工作簿级功能区项目的Excel功能区?
我愿意使用Office 2007的精彩RibbonUI,并有.xlam
文件声明一个自定义选项卡(让我们称为MyTab
为参数)。我需要MyTab
只显示一些元素,如果用户具有特定的权限(我通过VBA管理)。
除此之外,我希望我的其他工作簿能够将东西添加到MyTab
中,这些工作簿也可能具有动态元素(使用VBA)。
我面临的问题是,每当我遇到工作簿引用AddIn.xlam
并声明动态功能区元素的情况时,Excel会立即尝试全部刷新,从而在两个单独的线程中调用VBA代码(我猜) ,因为它最终会失败(因为VBA在Excel中是单线程强制的),并在这些和两个按钮“OK”和“Help”上生成只有“400”的空白对话框。
有人在如何最好地解决这个问题上有经验吗?
获取锁定?根据我的经验,你不想在Excel中进行任何严肃的开发。它以你无法理解的方式对你进行字节处理。 – 2009-12-21 16:43:19
我知道Excel的坏...但我没有选项(试图贬低所有这些东西,但资源限制使得我不能在几个星期内......),所以我只是想使其不那么痛苦。 如何知道VBA不应允许我一次运行两个独立的函数(这是导致此问题)的锁。 – Romain 2009-12-21 16:51:57