2009-12-21 33 views
0

我正在尝试制定一个解决方案,以便跨工作簿共享我的VBA代码库大部分内容。这包括创建一个.xlam文件,该文件将包含共享模块&类(+他们各自的工厂)。如何:带有动态属性的多个工作簿级功能区项目的Excel功能区?

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

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

我面临的问题是,每当我遇到工作簿引用AddIn.xlam并声明动态功能区元素的情况时,Excel会立即尝试全部刷新,从而在两个单独的线程中调用VBA代码(我猜) ,因为它最终会失败(因为VBA在Excel中是单线程强制的),并在这些和两个按钮“OK”和“Help”上生成只有“400”的空白对话框。

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

+0

获取锁定?根据我的经验,你不想在Excel中进行任何严肃的开发。它以你无法理解的方式对你进行字节处理。 – 2009-12-21 16:43:19

+0

我知道Excel的坏...但我没有选项(试图贬低所有这些东西,但资源限制使得我不能在几个星期内......),所以我只是想使其不那么痛苦。 如何知道VBA不应允许我一次运行两个独立的函数(这是导致此问题)的锁。 – Romain 2009-12-21 16:51:57

回答

0

您是否尝试过设置​​。

我相信会纠正你的问题。

+0

我会尝试这个,当我从假期回来:) – Romain 2009-12-23 22:50:14

+0

部分修复它。但它推动了其他问题。我想VBA的核心设计打破了我的使用案例......我现在要用其他方式...... :) – Romain 2010-01-25 23:14:03

相关问题