在Excel中创建/使用自定义VBA库

时间:2011-12-28 04:38:05

标签: excel vba xla

我一直在为我的团队工作一个项目。 Excel 2003电子表格位于NT NFS上,因此他们都可以使用它。我喜欢XLAs,但关于它们的一个令人讨厌的事情似乎是它们似乎不依赖于工作簿。安装一个用于安装它,其余部分安装它,反之亦然。使用编译时的其他语言,您可以轻松链接特定源文件的库。

我想知道是否可以使用依赖于工作簿的Excel VBA自定义库以及如何执行此操作?感谢

2 个答案:

答案 0 :(得分:1)

我为此目的使用CustomDocumentProperties。加载项包含所有代码,“模板”是要处理的文档。在模板中,创建名为“MyApp”或其他任何内容的CustomDocumentProperty。在加载项中,使用应用程序级事件来监视workbook_open调用。在该事件中,检查打开的工作簿是否包含应用程序的CustomDocumentProperty。如果是,则公开加载项的UI(如使菜单可见)。

另见http://www.dailydoseofexcel.com/archives/2004/07/16/custom-document-properties/

在该示例中,我使用Window_Activate事件。如果激活了正确类型的工作簿,则会显示自定义工具栏。如果它已停用,我将其隐藏。

答案 1 :(得分:0)

我使用的解决方案是编写自己的自定义代码,用于根据打开的工作簿来加载和卸载加载项。这很痛苦,但它完成了我想要的功能。为了让每个人共享它们,我将它们放在NFS上并使它们成为只读。当我想要更改库时,我打开它们进行简要的写作。