如何以编程方式从Excel中的VBA宏中删除数字签名?

时间:2009-07-29 15:41:30

标签: excel-vba digital-signature vba excel

有没有办法以编程方式从Excel工作表的VBA宏中删除数字签名?

即。代码等同于进入VBA编辑器,转到工具菜单 - >数字签名并单击“删除”。

1 个答案:

答案 0 :(得分:1)

有趣的问题。 出于安全原因,它故意不属于Excel对象模型。

可以从证书库中删除证书。这需要Win32 api调用(可以从VB6或VBA调用,但是一旦你这样做,我不确定对你的项目的确切影响...... 它肯定会使证书无效,但我不知道它是否会将其删除。 此外,您可能不希望从商店中删除证书(因为您可以将其用于其他内容)。

要查看证书存储区,请在“运行”提示符下键入 certmgr.msc

无论如何都是关于如何以编程方式删除证书的链接 KB article showing how to remove a trusted root certificate from the store.

要求:
1.您需要为适当的平台下载Windows SDK以获取capicom dll,+ regsvr32 2.您需要从要删除的证书中提取公钥 3.首先使用不重要的工作簿进行测试,我不知道这种方法(除了使证书无效之外)是否也会导致工作簿中的损坏。希望有人有更好的建议。