VBA 项目的数字签名 Windows 10

Digital signing of VBA project under Windows 10

昨天我从 win 8.1 升级到 win 10。在 win 8.1 下的 Outlook 2013 中,我有一个 VBA 脚本(宏),它会自动将 BCC 添加到我发送的每封邮件中。此脚本经过数字签名,因此我可以像这样设置宏:"Notifications for digitally signed macros, all other macros disabled" 而无需在每次启动 Outlook 时都要求我启用此宏。现在它不再起作用了。如果我将此宏安全设置设置为:"Enable all macros",脚本运行良好 - 但出于安全原因我不想使用此设置。

很明显,问题出在 VBA 脚本的数字签名中。我从一开始就做了这一切:我删除了以前的证书,使用 SELFCERT.EXE 创建了一个新证书,并像使用 win 8.1 一样完成了所有过程,一切都像 here 描述的那样顺利,除了那部分它应该只在第一次询问我是否信任发布者并且我应该检查 "always trust macros from this publisher"。我无法调用此 window。也许这指出了一些问题或不一致:它应该显示这个 window 让我检查它但没有显示因为我以前在 win 8.1 下已经检查过它......?

有人知道如何解决这个问题吗? 谢谢!

我从 Windows 7 x32 升级到 Windows 10 后遇到了同样的问题,但使用的是 Outlook 2010 而不是 2013。尝试了各种方法都没有成功。

最终对我有用的是进入信任中心、宏设置,然后选中框 "Apply macro security settings to installed add-ins" 以及 'Notifications for digitally signed macros' 选项。

'Disable all macros' 选项变灰。

单击确定并退出 Outlook。

下次打开 Outlook 时,系统会要求您接受每个已安装的加载项以及您的自我认证 VBA 项目 - 但这是一次性要求。作为腰带和大括号,我允许它自动安装证书。至少在我的情况下,从那时起我所有的宏 运行 通常 :-)

希望对您有所帮助!

终于明白了!

我唯一需要做的就是 运行 以管理员身份访问 Outlook。我一这样做, window 和 "trust all documents from this publisher" 就出现了,在我点击它之后一切都像以前一样工作。

我知道这个帖子已经过时了,但我发现了 Bzek 的解决方案起作用的原因。我不想 运行 以管理员身份使用 Outlook,但我也确实希望我的宏能够像在 W7 中那样运行。 Kopweb 的潜在解决方案对我不起作用。

好消息是,在 'client authentication' 的证书属性的“高级”部分中单击一个简单的复选框就可以了。正常重新启动 Outlook,宏应该可以工作。见下图: Cert - Advanced Options