vba - 将宏作为加载项分发给其他用户
问题描述
我正在寻找一些技巧来解决向我公司的其他用户分发宏的问题。
我创建了一个特定的工作簿,其中包含许多不同类型的数据,例如日期、字符串和数字。每个用户都必须管理相同类型的数据,因此我们使用此工作簿作为模板。数据存储在我应用了条件格式和数据验证的列中,以防止用户插入错误的值。此工作簿包含几个具有特定名称的工作表。此工作表的名称出现在代码中 - 为每个工作表进行一些特定的计算(基于工作表的名称)。
问题是将来我有可能对代码进行一些更改,例如使我的宏更有效或实现一些必要的更改。
我已经在互联网上搜索以找到最佳解决方案,我认为最好的方法是创建 Excel 加载项。但我对此有一些疑问。
这真的是最好的解决方案吗?有人可以给我一个提示,让它以更好的方式实现吗?
如果加载项是最好的,有没有办法只将它添加到特定的工作簿(这是我的模板)?
是否可以在某人打开特定工作簿时安装加载项(使用 Workbook_Open)并在工作簿关闭时卸载它(使用 Workbook_BeforeClose)。我在网上寻找答案,但这件事我不清楚。如果这是可能的,它会影响关闭/打开工作簿的速度吗?
感谢您的任何帮助/建议!
解决方案
将加载项放在网络驱动器上并将其标记为只读。使用本地副本进行更新。确保每次复制时都将其设置为只读,并确保人们正在使用网络驱动器。
很多时候,当人们安装插件时,他们对将其复制到本地驱动器的问题回答“是”,这不是正确的答案。如果他们不小心单击“是”,您将需要编辑他们的注册表以删除本地引用。
推荐阅读
- typescript - “R”可以用与“响应”无关的任意类型实例化
' - java - 我无法在 Visual Studio Code 上运行 Java!我尝试了很多
- git - 从合并了其他分支的分支中删除提交
- java - 如何打破递归
- json - 如何在另一个屏幕中使用响应正文
- java - 对kafka中的每条消息使用不同的密钥
- r - 基于 R 中的阈值对音频数据进行分类
- javascript - 在 javascript 中实现 normalize() 到搜索功能中
- linux - 当前用于解析 HTML 的 sed 命令有什么问题?
- php - imagick-3.4.4安装在make时抛出错误:grep:/opt/bitnami/common/lib/libfreetype.la:没有这样的文件或目录