vba - 将宏作为加载项分发给其他用户

标签 vba excel excel-addins

我正在寻找一些技巧来解决如何将宏分发给公司中的其他用户的问题。

我创建了一个特定的工作簿,其中包含一堆各种类型的数据,例如日期、字符串和数字。每个用户都必须管理相同类型的数据,因此我们使用此工作簿作为模板。数据存储在我应用了条件格式和数据验证的列中,以防止用户插入错误的值。本工作簿包含一些具有特定名称的工作表。该工作表的名称出现在代码中 - 为每个工作表进行一些特定的计算(基于工作表的名称)。

问题是,将来我可能想对代码进行一些更改,例如使我的宏更有效或实现一些必要的更改。

我在互联网上搜索了最好的解决方案,我认为最好的方法是创建一个 Excel 加载项。但我对此有一些疑问。

  1. 这真的是最好的解决方案吗?有人可以给我一个提示,让我做得更好吗?

  2. 如果外接程序是最好的,有没有办法将其仅添加到特定工作簿(这是我的模板)?

  3. 是否可以在某人打开特定工作簿(使用 Workbook_Open)时安装加载项,并在工作簿关闭时卸载它(使用 Workbook_BeforeClose)。我在网上寻找答案,但这个问题我不太清楚。如果可以的话,是否会影响关闭/打开工作簿的速度?

感谢您的帮助/建议!

最佳答案

将加载项放在网络驱动器上并将其标记为只读。使用本地副本进行更新。确保每次复制时将其设置为只读,并确保人们正在运行网络驱动器。

通常,当人们安装加载项时,他们对有关将其复制到本地驱动器的问题回答"is",但这不是正确的答案。如果他们不小心单击"is",您将需要编辑他们的注册表以删除本地引用。

关于vba - 将宏作为加载项分发给其他用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50473365/

相关文章:

visual-studio-2010 - 在 VS2010 中将 version=10.0.0.0 替换为 11.0.0.0 进行更改后出现新的构建错误

ruby-on-rails - 从数据行中堆叠带有 id 的列对

mysql - 将DAO QueryDef保存到临时查询并将结果输出到Excel

python - 将数据传输到 excel 时如何处理 "old"日期

javascript - 如何计算 Excel 表格中数据的行数

Excel VBA - 如何正确声明字符串

javascript - 有没有办法强制旧版本的 Excel Api(api 版本<=1.1)使列宽适合内容?

regex - 如何使用正则表达式模式提取括号中的子字符串

excel - 在数字列表中查找下一个奇数或下一个偶数

c# - GetDataObject 请求的剪贴板操作未成功 0x800401D0