Excel:对Excel宏进行签名以防止弹出“启用宏”

时间:2018-07-16 12:19:58

标签: excel excel-vba security automation

我想知道如何实现以下目标:

  1. 在不要求“启用宏”的情况下打开Excel,该Excel表作为模板分发并由许多人填充,然后返回我的脚本,该脚本想读取其中的内容。 Excel工作表(只为用户提供宏)。

  2. 任何需要我对自己的Excel安装进行更改的操作(例如,将文件添加到受信任的文档中)均不起作用,因为运行脚本的计算机可以是以下任何一种一千台包含自动脚本的计算机。

  3. 在Excel工作表上签名(我在这里读到的东西可以解决问题)很好,但是当我在一个庞大的企业中运作时,我想知道如何解决他的问题。安全规定。

我无权更改信任中心设置,也无法每次单击“启用宏的”按钮...

欢迎所有帮助。

3 个答案:

答案 0 :(得分:2)

最简单的解决方案是将模板存储在“受信任的位置”中-该位置是网络上允许使用宏的文件夹。您可以将模板的当前位置设置为受信任,也可以将模板移至现有的受信任位置。如果您的IT部门尚未在人员资料中启用该位置,则应能够设置该位置。您必须与您的IT部门联系,因为您的用户不太可能自己更改此设置。

答案 1 :(得分:1)

幸运的是,没有人可以这样做。如果被允许自动阻止“启用宏”安全警告弹出窗口,那么这将是一个巨大安全问题:

enter image description here

但是,您可以联系使用模板的人员,并要求他们启用信任中心中的所有宏:

enter image description here

这是如何导航到Excel中的信任中心:

  • Microsoft Office按钮
  • Excel选项
  • 信任中心
  • 信任中心设置
  • 宏设置

Enable or disable macros in Office files

答案 2 :(得分:0)

Vityata 的解决方案仅适用于您的企业安全策略允许信任网络驱动器的情况。它在我们的环境中不起作用,因为我们的安全策略禁止信任网络驱动器。

我通过对宏进行自签名并在客户端计算机上安装我的证书,以小得多的规模处理了这个问题。我只有少数客户使用我编写的脚本,所以这对我来说没什么大不了的。

但是,要大规模执行此操作,您的 IT 部门需要通过其 Windows 更新机制分发您的证书。您必须拥有对您的机器的管理员访问权限,并拥有第二个作为测试平台的权限才能使其正常工作。

您将采取的步骤是:

  1. 创建您的自签名证书。
  2. 签署宏。
  3. 通过在另一台机器上安装您的证书并运行宏来测试它在另一台机器上的工作情况。
  4. 将证书发送给您的 IT 部门,让他们分发。
  5. 将电子表格发送给您的客户。

我正在研究另一种方法,将我们的部门设置为证书颁发机构,并在内部颁发正确签名的证书供我们自己使用。我们有大量没有分配完全限定域名的设备,因为网络组不想处理维护数千个证书的开销。正如您可能想象的那样,这是一个让所有部分都发挥作用的项目,以便一个人可以处理它。