我有20个excel文件,其中自动化是用VBA编写的,其工作流程类似,但每个文件中都有一些自定义。我想有20个文件,每个任务的每个文件,但我想将所有宏放入一个文件,包含所有自定义。这将简化固定/更改自动化。
我希望在共享驱动器中的某个地方基本上有一个文件GlobalMacros.xls,它包含所有不包含自定义项的模块,并且只在适当的文件中引用它。
Personal.xls不是答案,因为我不希望用户/团队成员感受到这些变化。
请告诉我是否有解决方案以及缺点是什么。
解决方案1: 我的解决方案是在GlobalMacro.xls中创建模块,然后在每个文件中添加对模块的引用。缺点是它可能会减慢宏的执行速度,因为每次调出任何模块时,GlobalMacros.xls都会在后台打开和关闭。还有几个用户可以同时使用这些宏吗?
有没有人有更好的解决方案?也许有人过去也遇到过类似的问题。
答案 0 :(得分:1)
我将详细介绍如何正确使用XLAM文件。
在网络环境中,您需要保留XLAM的本地副本,您可以在其中进行更改和更新,一旦解决了所有故障,您就可以将其复制到其他人访问它的服务器上。您还希望将服务器副本设置为只读,每次将文件复制到服务器时都必须重置该服务器。如果您不将其设置为只读,则当任何人当前打开Excel时,您将无法将更新的文件复制到服务器。
此外,当用户将附加组件添加到他们的Excel时,系统会提示他们将XLAM文件复制到他们应该回复的本地计算机上,因为他们希望能够在服务器上运行复制,以便他们可以获得您的更新。我发现大多数人本能地认为他们应该对这个问题回答是。
如果他们最终回答是,那么修复它的唯一方法是编辑他们的注册表并删除引用,然后重新添加Add-On。