【VBA研究】如何使用VBA项目的数字证书
iamlaosong文
当我们处理包含宏的Excel文件时
1、生成VBA项目的数字证书
Microsoft Office集成了一个名为"VBA 项目的数字证书"的功能(在开始菜单下的程序选项卡下找到Microsoft Office工具中的VBA 项目的数字证书),单击该菜单项后会打开一个对话框,请您任意指定的一个字符串作为数字证书的名称并点击确定以创建数字证书。完成后即可看到生成的结果如图所示。

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

单击"提交"按钮后系统会自动完成该操作;如果存在多个CA,请单击"设置"选项卡中的"配置CA"按钮并依次选择需要配置的CA;完成后系统会自动生成相应报告
3、许可
在初次启动时,在使用数字证书的Excel文件时会遇到安全提示信息。单击后将显示一个提示框,并选择‘信任来自该发布商所有文件’进行验证

至此之后,在打开该Excel文件或任何使用该数字证书的应用所涉及的Excel文件时将不再显示安全提示信息,并且宏能够正常运行。未来在开发新程序时,只需将该数字证书配置进去即可完成验证过程。
4、让别人使用你程序
在上述流程结束后, 此时本机没有问题. 但当将Excel文件发送给他人时, 对方电脑可能会提示无法识别该数字证书从而阻止执行相应的宏. 遇到这种情况该如何解决呢?
你需要将数字证书导出,并发送给他人进行安装;安装完成后就会如同你的设备一样。
A. Follow these steps to configure Windows Scripting Host (WSH): First, open the IE browser and navigate to Internet Options. Then, click on the "Content" tab located above the certificate button. After that, click on the certificate button and select "Windows Scripting Host (WSH) from the dropdown menu. Finally, click "OK" to save your changes.

请根据需要选择要导出的证书,并单击导出按钮。随后依次单击‘下一步’按钮,在弹出窗口中输入文件保存名称。系统将在完成后生成一个数字证书安装包。例如,请根据需要选择要导出的证书,并单击导出按钮。随后依次单击‘下一步’按钮,在弹出窗口中输入文件保存名称。系统将在完成后生成一个数字证书安装包。例如,请根据需要选择要导出的证书,并单击导出按钮。随后依次单击‘下一步’按钮,在弹出窗口中输入文件保存名称。系统将在完成后生成一个数字证书安装包。例如,请根据需要选择要导出的证书,并单击导出按钮。随后依次单击‘下一步’按钮,在弹出窗口中输入文件保存名称。系统将在完成后生成一个数字证书安装包。例如,请根据需要选择要导出的证书,并单击导出按钮. 之后, 请按住Shift键并依次单击'下一步'选项, 在出现对话框时, 输入您希望保存该电子签名到的位置. 然后, 按下Ctrl+S快捷键以开始存储过程. 这将创建一个带有签名属性的安全电子签名.

C、将这个数字证书文件和你的Excel文件一道发给需要的人即可。
请注意:这个数字证书必须妥善保存好。如果在更换电脑或重新安装操作系统后就会丢失的话,则会导致无法提取原有的数字签名相关数据。
换言之,在更换电脑或重装系统的情况下将无法恢复原有的数字签名文件(即使重新创建一个新的),这些文件与之前的不同之处在于它们将缺少必要的密钥信息(即 private key 无法被提取)。解决这一问题其实非常简单:只需使用包含原有数字签名信息的Excel文件来开发新的软件即可。
