Microsoft Outlook 2013:错误验证VBA项目签名

Ber*_*Git 8 certificate outlook-vba outlook-2013

计算机重置后,我想使用我的VBA宏for Outlook 2013.

在Outlook中,我收到错误消息:

"尝试验证VBA项目的签名时发生了错误.宏将被禁用."

因此,VBA编辑说:

"此项目中的宏已禁用.[..]"

我试过了:

  1. 开发人员 - >宏安全 - >(*)启用所有宏(不仅是数字签名)

  2. 使用定义证书

    C:\Program Files (x86)\Microsoft Office\Office15\selfcert.exe
    
    Run Code Online (Sandbox Code Playgroud)

没有任何效果.任何的想法?

ada*_*dam 8

刚刚遇到这个问题,这就是我最终解决的问题(其他一些建议都没有对我有用):

  1. 创建自我证书 - 我称之为"自我证书"(从Office 2013中生成 - C:\ Program Files(x86)\ Microsoft Office\Office15\SELFCERT.EXE)
  2. 从开始菜单运行certmgr.crt并将"Self Cert"从"Personal\Certificates"复制到"Trusted Root Certification Authorities\Certificates"文件夹
  3. 以管理员身份打开Outlook.exe
  4. 打开VBA(即开发人员 - > Visual Basic)
  5. 打开包含VBA代码的模块
  6. 选择工具 - >数字签名 - >选择...
  7. 选择确定以选择"自我证书"(VB然后显示项目已使用此证书签名)然后再次单击确定接受并关闭窗口
  8. 单击以在VBA中保存宏 - 实际上单击VB中的保存按钮(奇怪的是,如果您没有明确保存,它会中断)
  9. 关闭VBA
  10. 关闭Outlook,然后选择"是"以保存VBA项目
  11. 以管理员身份再次重启Outlook.exe
  12. 无论是现在,还是再次进入"Developer - > Visual Basic"之后,都会弹出一个窗口,提示您关于新签名的宏 - 我点击了记住,不再提示
  13. 宏现在应该工作了!我正在使用它们作为电子邮件规则的一部分,现在处理完美.

我并不是很确定你需要在上面以管理员的身份运行Outlook,但它现在可以在不以管理员身份运行的情况下工作,所以我很高兴.

感谢这个资源让我为我工作!我基本上只是更新,巩固和扩展了给出的答案.https://social.technet.microsoft.com/Forums/en-US/07f0158c-085b-4031-93a1-c9d047cf855c/unable-to-sign-outlook-2010-vbaproject?forum=outlook


Ber*_*Git 2

好的,我找到了问题的原因:

(1) selfcert.exe 的证书nameofmycert已分配给我的 VBA 项目。

(2) 但是,我没有将其分配给受信任的机构,如:https: //technet.microsoft.com/en-us/library/cc754841.aspx#BKMK_addlocal

(3) Outlook 设置为允许所有宏(不仅是数字签名)。无论如何,它发现我的VBA项目已通过认证,但不确定认证是否正确,因为(2)。因此它停用了所有宏。

(4)在VBA/工具/数字签名中出现:

Certificate name: [no certificate]
Sign as: nameofmycert
Run Code Online (Sandbox Code Playgroud)

移除按钮已停用。

解决方案:

(1)VBA/工具/数字签名

(2) 单击Choose ..并选择证书。然后删除按钮被激活。

(3)点击Remove Certificate

(4)保存VBA工程

(5) 重新启动Outlook