我一直在为我的团队工作一个项目。 Excel 2003电子表格位于NT NFS上,因此他们都可以使用它。我喜欢XLAs,但关于它们的一个令人讨厌的事情似乎是它们似乎不依赖于工作簿。安装一个用于安装它,其余部分安装它,反之亦然。使用编译时的其他语言,您可以轻松链接特定源文件的库。
我想知道是否可以使用依赖于工作簿的Excel VBA自定义库以及如何执行此操作?感谢
答案 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上并使它们成为只读。当我想要更改库时,我打开它们进行简要的写作。