VBA Tips:为VBA program添加数字签名

来源:互联网 发布:软件销售代理商 编辑:程序博客网 时间:2024/05/01 18:11

在上一篇文章《VBA Tips:Your first VBA program》中,我们创建了一个最简单的VBA程序,把它保存为.docm文件。现在让我们打开它。假设你的Word 2007为默认设置,那么在打开这个文件后,你将会看到一个Security Warning,如下图所示:

这是Office 2007对我们的计算机的一种保护,虽然我们知道刚才我们编写的这个VBA程序肯定是安全的,但是这个世界上并非所有的VBA程序都是安全的,大家可能听说过“宏病毒”吧,就是隐藏在VBA program里面的恶意程序。所以Office对未知的宏文件采取谨慎的态度,这是必须的。


现在我们确实要允许这个文件里的宏被执行,怎么做呢?点击“Option”按钮,在下面的对话框中,选择“允许此内容(Enable this content)”,然后点“OK”按钮,就可以执行宏了。


如果我们为企业编写了一个方便工作的VBA小程序,用户每次在执行的时候都要像我们刚才那样启用宏,这多麻烦呀。如何在确保安全的前提下,让我们编写的VBA小程序可以直接被允许执行,那该多方便呀。下面我们要介绍的正是实现这一愿望的方法。


打开我们的VBA program,在VBA Editor的菜单中,选择:Tools | Digital Signature...


这样就进入下图所示的数字签名对话框:

现在还没有任何一个可用的证书可以让我们用来作为签名呢。点击Choose按钮,这样我们的电脑里面已经注册的数字证书就会列出来等我们去选择。

上图中列出了三个数字证书,这是我电脑上已注册的证书。在企业环境中我们当然要选择一个企业内部通行的签名,但是在本例中我故意选择了一个私人的证书,为了不泄露本人工作单位的信息嘛。

点OK按钮后就进入下面的对话框:

看来这个证书需要被导入,那我们就导入它好了。点“Install Certificate...”按钮:

导入数字证书的步骤,很简单了,就是按照提示Step by step就可以了。

导入完毕后,会弹出下面这个对话框:

点OK按钮关闭这个对话框,返回到给VBA program做数字签名的对话框:

点OK安就就做好了数字签名。



然后,我们进入Word 2007的Options界面,改一下Macro Settings,把它改为:

Disable all macros except digitally signed macros



下面我们关闭Word 2007,重新打开我们的.docm文件。怎么Security Warning还在呢?

别着急,再次点击Options按钮,这时我们会看到这个Options的对话框已经起了变化:


我们选择“Trust all documents from this publisher”,点OK


这样,以后,再打开这个.docm文件就不会有 Security Warning,直接就启用宏了。


原创粉丝点击