10个用户需要能够在excel中运行相同的宏

时间:2010-05-11 15:19:35

标签: excel vba excel-vba

我有一个驻留excel宏的服务器

在10个不同的工作站上将有大约10个用户需要在他们自己的工作表上运行该宏。

如何让多个想要在自己的工作表上运行宏的用户从集中位置运行宏?

我需要它集中的原因是因为宏需要不断更新,我们不能让它驻留在本地,因为那时会有10个不同的实例

正如下面的答案之一所示,也许加载项是要走的路?如果我确实创建了一个加载项,它怎么会知道有一个宏更新?我每次更新宏时都必须分发加载项吗?

3 个答案:

答案 0 :(得分:1)

我会考虑让每个用户的工作簿包含您需要它们运行的​​宏,然后每个用户都可以在他们的机器上本地调用它。

否则只需创建一个共享工作簿,并让所有用户使用该工作簿。

这实际上取决于工作簿将被使用的情况,以及您要完成的工作。如果你能提供更多细节,我可以更具体地帮助你。

答案 1 :(得分:1)

如果用户打开了工作簿并打开了服务器工作簿,则在“打开宏”下拉列表中选择“所有打开的工作簿”后,可以在View->宏对话框中使用宏。

但是,我认为有三个潜在的问题:

1-如果两个工作簿在两个不同的Excel实例中打开,则每个工作簿都不会显示其他宏。

2-服务器工作簿中的宏需要足够智能才能在其他工作簿上运行。最有可能的是,它需要提示用户输入正确的工作簿和/或工作表。

3-您可能会在远程宏执行时收到安全警告。 (不确定这个)

我可能会创建一个加载项,它封装了我的宏并将其安装在远程用户的计算机上,以便他们可以单击按钮在本地执行它。

根据编辑进行更新
您的加载项应该能够远程提取新代码以更新它执行的宏。例如this之类的东西。但这可能是一个过度的解决方案。

答案 2 :(得分:0)

如果您的问题是确保人们使用最新的宏,您可能需要查看VSTO。其中一个好处是您可以使用ClickOnce进行部署,其中包括允许您在一个位置发布代码,并让用户的代码在发生更改时自动下载和更新。