如何使用所有Excels的共享代码创buildVBA加载项?

我正在为多个Excel电子表格编写VBA代码,这些代码将不时与其他人共享。 在某些时候,我发现在我的作品中有很多重复的东西。 所以我想find一种方法来共享Excel加载项中的代码,比如.xla文件。

但是当我试图将包含共享代码的Excel文件保存为.xla文件时,我遇到了一些问题:

  1. 将文件保存在默认的加载项文件夹后,该文件不能再被编辑
  2. 如果我将.xls文件移动到加载项文件夹以外的文件夹,并直接打开它 – 我不能使用它的类 – 这会导致共享代码的问题

任何想法以灵活和强大的方式创build加载项?

非常感谢您的帮助

不完全确定这是你正在寻找,但…

(1)通过单击VBA编辑器中的保存图标保存.xla / .xlam代码。 但是,保存的东西是当前在“项目浏览器”窗格中select的东西,它列出了所有打开的VB项目,通常位于左侧。 即使您正在盯着刚编辑的VBA代码,单击保存图标也不会保存您的代码,除非在“项目浏览器”窗格中也选中该代码。 您不会收到任何保存的反馈 – 但您可以通过在单独的窗口中检查文件时间戳来进行validation。

(2)如果你有* .xls文件(通过公式栏)引用你的* .xla / * .xlam文件中的VBA函数,那么如果你打开* .xls文件而不打开.xla, .xlam文件首先,Excel可能会创build外部链接来parsing公式(即引用一个未打开的文件)。 如果您已经移动或重命名了* .xla文件,则可能会遇到这些“损坏的公式”,并需要编辑Excel使用全局replace插入的path名链接。 如果您安排在使用它的任何* .xls文件之前打开.xla, .xlam文件,则不应该有问题(例如,使用默认文件夹)。