有没有办法以编程方式从Excel工作表的VBA宏中删除数字签名?
即。代码等同于进入VBA编辑器,转到工具菜单 - >数字签名并单击“删除”。
答案 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.首先使用不重要的工作簿进行测试,我不知道这种方法(除了使证书无效之外)是否也会导致工作簿中的损坏。希望有人有更好的建议。