分享

【VBA研究】如何使用VBA项目的数字证书

 我的diy书屋 2018-06-29

我们在运行带有宏的Excel文件时,一般要启用宏,除非你将安全级别设为“低”,那样系统会很不安全。在调试程序时,如果忘了启用宏,改完代码后无法调试代码,必须退出Excel,重新打开,启用宏才能调试,很是麻烦。那么能否免除每次打开Excel时的安全警告询问呢?答案是肯定的,就是使用VBA项目的数字证书。

1、生成VBA项目的数字证书

Microsoft Office自带的的工具中有一个“VBA 项目的数字证书”(开始--程序--Microsoft Office工具--VBA 项目的数字证书),点击这个菜单,在弹出的对话框中输入证书名称(任何你希望的字符串),点击“确定”即可生成数字证书,如下图:


2、VBA项目中加入数字签名

打开Excel文件,进入VBA开发环境,点击菜单:工具--数字签名,弹出如下对话框:


点击“确定”,最后保存文件即可。如果有多个数字证书,可以点击“选择”按钮选择合适的数字证书,再确定、保存。

3、许可

加入数字证书的Excel文件第一次运行的时候会出现安全警告,点击会弹出对话框,选择“信任来自此发布者的所有文档”,然后确认,如下图:


至此,今后再打开这个Excel文件以及所有使用这个数字证书的Excel文件都不再安全警告提示了,宏也可以安全的执行了。以后再开发程序,只要加入这个数字证书即可。

4、让别人使用你程序

上面过程完成后,本机上是没有问题了,但是,当你把Excel文件发给别人时,别人机器会提示不认识这个数字证书而拒绝执行你的宏,怎么办呢?

你要做的就是把数字证书导出来,发给别人安装,安装后就和你的机器一样了,导出数字证书的方法是:

A、打开IE浏览器,点击Internet选项,选择“内容”标签,点击上面的证书按钮,如下图:


B、选择你要导出的证书,点击导出,然后一直点击“下一步”,输入要保存的文件名,最后会产生一个数字证书安装文件。如我的数字证书如下图所示:


C、将这个数字证书文件和你的Excel文件一道发给需要的人即可。

注意:这个数字证书要保存好,一旦更换机器或者重新安装系统,原来的数字证书就没了,就没法导出原来的证书了。更换机器或者重装系统,就无法恢复原来的证书了,即使重新生成,也和原来的不一样,在新机器上可以装上原来的证书,但在VBA中 数字签名时,选择证书是空的,选不了,猜想是不是因为导出的证书没有私钥(私钥不能导出)。解决办法其实也简单,就是直接用含有原来数字证书的Excel文件开发新的程序。





    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多