首页 > 解决方案 > 如何让 VBA 在 Microsoft Excel 安全通知的消息框中选择非默认选项?

问题描述

我在 VBA 中编写了一个宏,它使用 for 循环处理其他 Excel 文件(其中很多)。每次打开新文件时,都会出现 Microsoft Excel 安全通知。有两种选择:

Enable Macros

Disable Macros

后者是默认选项。我无法在设置always enable macros中进行设置,因为我的公司不允许修改此选项。因此,我想知道是否有办法让 VBA 始终选择Enable Macro Option.

标签: excelvba

解决方案


简而言之,不,VBA 无法关闭安全通知。

原因很清楚;如果有人可以简单地通过代码将其关闭,那有什么意义呢?任何恶意宏都将被允许运行。

你可以做什么?

您可以通过信任中心设置尝试许多事情。

  1. 复制一个文件夹(或多个文件夹)中的所有文档,并将文件夹路径添加到受信任位置列表中。

  2. 如果文档位于网络文件夹中,请启用允许信任网络上的文档的选项(您可能需要先检查公司的政策)。

  3. 创建一个自签名证书并签署所有 VBA 项目(如果它是自签名证书,则不确定这是否有效)。

实际上,由于贵公司有关于宏观安全的政策,我认为最好在进行上述任何更改之前与他们核实。

关闭宏安全并不是一件容易的事,否则安全将是垃圾。

希望这可以帮助。


推荐阅读