Excel VBA使用数字签名,让你代码开启执行无忧之路

前言:对于初学VBA的你,或许不知道VBA其实也可以是一种宏病毒,他可以悄悄的删除你计算机内的任何文件。相对于Excel而言,假如某个文件中有VBA代码,让我们大多数最担心是的一件事情便是是否存在病毒,因此往往把Excel安全级别设置为“高”,即对不可靠的来源提醒用户是否启用宏,对于大家来说并不陌生,如下所示。

但是相对而对于VBA编写人员来说,最想做的就是使Excel程序启动时不出现警告对话框,直接进入,并不提示这个对话框,那么这个时候我们就可以使用数字签名。或许你要说数字签名是什么?我们现在慢慢的和你说。

PS:数字签名仅在安装了Microsoft Internet Explorer 4.0及其后续版本的电脑上才能执行成功,并且在安装Excel时,需要选择数字签名一项。

那么我们首先面对的是,如何创建属于我们自己的数字签名呢?我的电脑安装是WIN8系统为例,第一步我们找到SELFCERT.EXE这个软件,我是安装在C盘,当然你也可以全局搜索,我的存放路径是C:\Program Files (x86)\Microsoft Office\root\Office16,找到以后如下所示:

我们双击它,然后这个程序执行后的界面如下图所示,输入我们自己证书的名字,这个名字可以任意设置,点击确定,我们就完成数字证书的设置基本工作。

当我们完成上面的操作以后,在Excel 的VBE窗口中选择“工具”→“数字签名”,在如下所示的对话框中选择“选择”按钮,在显示的如图所示的对话框中选择新建的数字证书后按“确定”按钮后保存文件。

点击确定,我们就完成数字签名的制作了,是不是这个过程很简单,很实用。另外我们需要注意的是,当我第一次打开我们签名的文件的时候,会出现提示对话框。在这个时候我们选择“总是相信来自此发布者的宏”选项,这样只要是用此证书签名的文档都会被认为是可靠来源,以后不会再出现“安全警告”对话框。这点需要注意的。

另外我们说了,增加数字签名,那么我们如何删除数字签名证书呢?方法有2个,一个IE浏览器,一个是注册表进行删除。我们分别说一下哈。

1、IE浏览器打开,找到他的属性对话框,在“内容”选项中选择“证书”,在显示的“证书”对话框中选择证书后删除即可。

2、注册表方法,点击Windows+R,键入“Regedit”,回车便打开了注册表编辑器。在“HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\”位置选择相应的选项删除即可,如下所示。

但是证书我们一般设置完成以后,一般正常情况下是不会去删除的,我们只需要了解一下这个即可。自己创建的无法在别人的电脑上为受信任!只有在第三方根证书颁发网站创建的证书才可以在别人的电脑上为受信任!

如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

专栏
ExcelVBA常用代码集锦
(0)

相关推荐

  • VBA案例精选 显示Excel内置对话框

    代码运行结果: 代码截图: 代码文本: Public Sub 显示Excel内置对话框() UserForm1.Show End Sub VB常量 对话框 值 xlDialogActiveCellFo ...

  • Excel技巧连载15和16:Excel批量取消隐藏工作表的两个技巧

    一直以来有点遗憾,就是Excel没有添加"批量取消隐藏工作表"的功能.以至于取消多个隐藏的工作表,我们不得不耐着性子一个一个去手工操作:右键单击任意工作表标签,右键菜单中,选择[取 ...

  • VBA实战技巧32:安装Excel加载宏

    excelperfect 我们知道,有多种方法可以进入"Excel加载宏"对话框.最简单的就是,单击功能区"开发工具"选项卡"加载项"组中的 ...

  • 太实用了!Excel VBA常用代码!

    前两天有两位朋友留言想收集一些VBA的常用代码,今天开始会陆续分享一些! 记得收藏好哦,因为今后你应用到稍大型Excel VBA程序时,这其中某些代码肯定会用到. 来看看都是哪些常用代码: 下面先举一 ...

  • Excel VBA 7.65 VBA代码交互不够方便?不要忘记还有炫酷的窗体功能

    VBA代码交互不够方便?不要忘记还有炫酷的窗体功能 点击上方"Excel和VBA",选择"置顶公众号" 致力于原创分享Excel的相关知识,源码,源文件打包提供 ...

  • Excel vba双击单元格代码

    为什么要使用vba双击单元格,那是因为Excel中的数据,通过复制粘贴过来以后,不会马上变成所设置的单元格的数据类型,而是要通过双击才能变成Excel所需要的数据. 就比如说,身份证中提取过来的出生年 ...

  • 经典Excel VBA代码

    VBA基础在大家的关注声中即将告一段落了,限于水平和篇幅,有许多经典的VBA操作我只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高.最后我收集了常见的VBA ...

  • Excel VBA工作薄 6.3 多条件的对话窗体 让代码通用性更高

    前景提要( 昨天我们学习了通过msgbox实现一个简单的对话窗体的功能,让使用者在使用脚本的过程中,能够根据自己的实际需要来进行操作,避免出现脚本被写死的情况,影响了脚本的适用范围,这样的情况其实在我 ...

  • Excel VBA 控制代码执行的几个方式,你更喜欢哪个过程执行中枢

    今天和大家说的是VBA代码执行的方式,举个例子啊,我们的代码执行过程一般都是从SUB 开始,到end sub 结束,这个过程是顺其自然的.但是在我们有些时候,并不需要他按照流程执行,而是需要跳过某些语 ...

  • excel vba访问其他电脑上的excel文件的代码

    Private Sub CommandButton1_Click() Dim xlapp1 As Excel.Application Dim xlbook1 As Excel.Workbook Dim ...

  • 经典Excel VBA代码一箩筐

    VBA基础在大家的关注声中即将告一段落了,有许多经典的VBA操作我们只是作了简要的介绍,想要熟练地使用VBA还需要大家慢慢地去消化和吸收,然后在实践中总结和提高.最后我们收集了常见的VBA代码以飨广大 ...

  • excel vba 高亮显示当前行代码

    代码: 复制代码 代码如下: Private Sub Worksheet_SelectionChange(ByVal Target As Range) ThisWorkbook.Names.Add ' ...