一、Excel宏应用存在的不便
Excel宏通俗的讲就是,绑定在Excel中的,通过记录Excel手工操作过程获得的程序、自己编写操控Excel所有操作的程序、运用API函数操控整个操作系统的程序等,可以自动运行的所有程序的总称。因为他的神通广大,便出现所谓的宏病毒。但是,微软同时也给套上了一个特制紧箍咒(套上就一直紧箍)——宏安全等级限制。然而这个特制紧箍咒不仅套上孙悟空,连猪八戒沙僧也都套上了,而且是一直在紧箍发痛,无法赶路了。这就给已知的非病毒程序的运行带来的不方便。为了解决这个不方便,微软还是学习了如来的佛法,授权给唐僧,只要唐僧念经特制紧箍咒就不紧箍了——信任的数字签名放行法。
二、宏程序数字签名的原理
大家知道,宏安全等级分4个级别,禁用所有的宏,并且不通知;禁用所有的宏,并发出通知;禁用无数字签署的所有宏;启用所有的宏。当你设置宏安全等级为:禁用无数字签署的所有宏时,无数字签名的宏当然的就不能运行了!而有数字签名的宏就能运行了吗?还不行,数字签名必须是受信任的而且有效期内的数字证书,才能不受限运行。这就是数字签名的原理所在:一次设置方便了自己,麻烦了他人!即安全又方便。
三、创建数字证书的方法
第一步,点击开始,接着点所有程序,再接着点Microsoft Office,最后点VBA项目的数字证书(详见图1,有些系统要先点Microsoft Office 工具);第二步,在弹出的创建数字证书对话框中,在您的证书名称输入框中输入名称:Excel财务VBA,然后点击确定,最后在弹出的SelfCert 成功对话框中点击确定(详见图2); 数字证书创建完成。
四、宏程序数字签名的方法
第一步,打开启用宏的工作簿,点击开发工具,再点击Visual Basic;第二步,在打开的Microsoft Visual Basic 设计窗口中,点击宏工作簿名下的模块,接着点击菜单栏的工具,在下拉菜单中选择数字签名;第三步,在弹出的数字签名对话框中,点击选择;第四步,在弹出的确认证书对话框中,点击确定;第五步,返回数字签名对话框,点击确定;第六步,在Microsoft Visual Basic 设计窗口中,点击保存图标,保存工作簿(详见图3);宏程序数字签名设置完成。
五、启用数字签名的宏的安全等级设置方法
首先点击开发工具,其次点击宏安全性,接着点击宏设置,然后选择点击禁用无数字签署的所有宏,最后点击确定(详见图4);宏安全等级设置完成。
六、导出数字证书的方法
首先打开Microsoft Visual Basic 设计窗口,接着点击启用宏工作簿,再点击菜单栏工具,在下拉菜单中选择数额签名,在数字签名对话框中点击详细内容,在弹出的证书窗口中选择详细信息选项卡,最后点击复制到文件,根据向导完成证书导出(详见图5)。
七、设置信任发布者的方法
第一种方法,打开启用宏的工作簿,工具栏提示窗口中,点击选项,然后在弹出的安全选项窗口中,选择点击信任来自此发布者的所有文档,最后确定(详见图6);第二种方法,第一步,打开控制面板,在控制面板中点击凭据管理器,在凭据管理器窗口中点击添加基于证书的凭据,然后在下一窗口中点击打开证书管理器(详见图7);第二步,在打开的证书管理器窗口中,首先点击受信任的发布者,接着点击菜单栏的操作,选择一级下拉菜单所有任务,在二级右弹菜单中点击导入(详见图8);第三步,在证书导入向导欢迎页窗口中点击下一步(详见图9);第四步,在证书导入向导选择文件窗口中点击浏览,选择要导入的证书所在的文件夹,然后再点下一步(详见图10);第五步,在证书导入向导选择存储区域窗口中点击下一步(详见图11);第六步,在证书导入向导完成窗口中点击完成(详见图12);第七步,在弹出的导入成功对话框中,点击确定,最后点击右上角关闭按钮,关闭证书管理器(详见图13);信任的发布者设置完成。
【相关提示】宏程序数字签名,只有在解决方案已经过测试并可以发布后,才能对宏进行签名,因为只要已签名的宏项目中的代码发生了任何更改,它的数字签名就会被删除。但如果您具有以前用于签署计算机上项目的有效数字证书,则会在保存宏项目时自动对其重新进行签名。
谢谢您阅读完本文!我是#Excel财务VBA#,懂会计的程序员,Excel&VBA精通。了解更多Excel实战技巧分享,请记得点"关注"@Excel财务VBA ,已关注了烦请点赞、分享哦!也可私信八、图示说明
图1 打开创建VBA数字证书路径
图2 创建数字证书
图3 添加数字签名
图4 设置宏等级
图5 设置信任发布者方法
图6 设置信任打开证书窗口
图7 设置信任导入
图8 设置信任导入第一步
图9 设置信任导入第二步
图10 设置信任导入第三步
图11 设置信任导入第四步
图12 设置信任导入第五步
图13 导出证书
,