在没有打开文件的情况下将.xlsm文件引用为库

时间:2019-10-02 17:43:01

标签: excel vba module

我想将工作簿用作VBA库,其中包含我在项目中通常使用的函数和子例程。我想这样做,以便我可以在一处编辑这些常用的片段,然后我的所有项目将始终使用它们进行更新。我想在我的项目中访问这些功能和子程序,而不必同时打开库文件。

几个小时的谷歌搜索使我有几种选择:

  1. 制作DLL

  2. 将文件另存为.xlam

  3. 将.xlsm作为库引用

选项1可能有效,但是我不熟悉并且无法访问所需的程序。我已经找到了有关使用VB制作DLL的教程,但我担心添加新脚本将需要再次执行整个过程来更新它,然后我需要在使用DLL的工作簿中更新引用。

选项2似乎根本不起作用。 “图书馆”工作簿似乎已在VBA编辑器中打开,但是我似乎无法从主书中调用其中的脚本。我认为此选项更适合在Excel本身中使用脚本。

选项3是我决定尝试进行的工作,但是它总是会同时打开库工作表。尝试关闭“图书馆”书时出现以下错误:该工作簿当前被其他工作簿引用,并且无法关闭

是否可以将.xlsm文件作为库而不同时打开该文件?

此外,如果我对其他选项的理解不正确,或者如果您有更好的解决方案可以推荐,请分享。

修改 经过更多测试并考虑了下面的评论,我发现如果使用Application.Run("macro"),可以使选项#2正常工作。谢谢!

0 个答案:

没有答案