由于 Windows 之前冻结,Outlook 宏已禁用

Posted

技术标签:

【中文标题】由于 Windows 之前冻结,Outlook 宏已禁用【英文标题】:Outlook macros are disabled since Windows freezed previously 【发布时间】:2017-12-15 10:18:46 【问题描述】:

我们在公司的每台安装了 Outlook 的计算机上都使用 VBA 宏。宏使用证书进行数字签名以确保安全。此证书是通过 selfcert.exe 应用程序生成的。当我们在 Outlook 中的 VBA 项目(包含宏)上添加数字签名时,我们选择之前生成的证书,并检查“信任中心设置”中的 Outlook 选项是否在“禁用除数字签名宏以外的所有宏'。接下来,当我们第一次启动 Outlook 并运行宏时,我们会收到一条消息,通过 3 个按钮进行确认:“信任来自此发布者的所有文档”、“启用宏”、“禁用宏”。我们总是选择信任所有人,以避免下次再次收到此消息。这在每台机器上运行了好几年。

几周前,有人抱怨Windows 10 随机冻结。 IT 支持解决了这个问题,但不幸的是出现了一个新问题:Outlook 宏在这台机器上总是被禁用。我很确定这个新问题是由于之前的 Windows 冻结造成的。我还在某处读到有人让磁盘崩溃,然​​后 Outlook 宏被禁用。

我已经尝试过的:

再次删除/添加证书 创建一个新证书来签署我的宏 重命名包含宏的 VBA 模块 删除 VBA 模块并重新创建它

这些操作均无效。宏仍然被禁用。

目前的临时解决方案是通过启用所有宏来更改信任中心设置选项。但我不能接受这种有潜在危险的解决方法。

我已经在 Google 上搜索了几个小时并尝试了建议但没有运气。

【问题讨论】:

查看组策略设置是否必须由管理员更改。一些信息windowsitpro.com/windows-server/… 和slipstick.com/outlook/block-macros-office-20132016 【参考方案1】:

看起来您的机器已损坏。尝试修复 Outlook 或 Office。

请注意,您需要在 Windows 中安装自签名证书作为受信任的根 CA。请参阅Installing a Self-Signed Certificate as a Trusted Root CA in Windows Vista 了解更多信息。

您也可能会发现Odd behaviour with macros being disabled 论坛帖子很有帮助。它声明如下:

我可以在 Outlook 2013 (C2R 15.0.4927.1002) 中重现该问题。如果我设置“数字签名宏的通知,所有其他宏被禁用”并且我已将 CA 添加到受信任的发布者和受信任的根 CA 列表中,则该宏将被禁用。 Outlook 2016 中不存在此问题,如果您不想启用所有宏,我建议您使用 Outlook 2016。此外,我建议您提交您对 Outlook User Voice 的反馈:https://outlook.uservoice.com/

【讨论】:

感谢您的反馈。我将首先检查用户计算机上安装了哪个版本的 Outlook。但恐怕这已经是 2016 年了。

以上是关于由于 Windows 之前冻结,Outlook 宏已禁用的主要内容,如果未能解决你的问题,请参考以下文章

尽管有信任中心设置和数字签名,但 Outlook 2010 中的 VBA 宏突然被禁用?

访问 Outlook VBA 对象模型时单词冻结

更新后禁用带有证书的宏

MS Outlook 宏删除选定的文本

替代`CreateObject("Outlook.Application")`?

使用 VBA 宏选择和复制 Outlook 电子邮件正文