---恢复内容开始---

  在说这个话题之前,我先解释一下为什么要加数字证书签名,它有什么作用,后面再解释如何添加。首先解释下证书添加的位置,如下图所示:

1、单击左上角的Office 按钮,选择右下角的Excel选项。

弹出如下所示的界面,选择常用项,将在功能区显示“开发工具”选项卡(D)选项框选中。

然后就可以在菜单项中看到“开发工具”这个菜单项,默认是不显示的。

然后单击Visual Basic工具栏,如下所示

打开后显示如下界面,也就是写宏代码的IDE,类型以前的VB6.0开发界面

选择菜单项中的工具菜单,选择子菜单项数字签名

将显示如下所示的对话框,第一副是还没有证书签名的,而第二副是包含证书签名的。

有了证书签名后,你就可以设置以下选项来设置信任中心的宏访问了

将显示如下的界面:

好,相关的知识已经介绍完了,现在就转到如何通过代码自动实现证书签名,而不是人工去选择一个证书,那样就太case了,就像QA测试一样,人工知道一步一步是什么,但是要自动化去测试,那就要麻烦多了。当时好几个同事一起想一个好的解决方案,最终还是找到了一个比较靠谱的。那就先一步一步来介绍啦

先新建一个新的Excel文件,再修改后缀名为ZIP后再将其解压

解压后将会看到如下所示的文件夹:

将它们打开看看,究竟是什么东西:

这是_rels文件夹.rels文件的内容:

这个docProps文件夹下面的app.xml与core.xml文件的内容:

这个core.xml文件的内容:

xl文件夹下面的子目录与文件

以下是worksheets文件夹下面的sheet1.xml的内容:

好了,通过上面的分析不知道你能不能发觉到原来excel的存储是通过一系统的xml文件或其他文件去存储它的相关信息的。如果是这们的话就可以通过操作

这些文件去间接操作excel.为了验证是否是这样,然后再找一个包含宏代码的excel文件,修改后缀名后再解压,看看它里面是什么文件:

xl文件夹下面多了两个文件vbaProject.bin和vbaProjectSignature.bin,一看这名字就是vba项目与vba项目签名啊

打开_rels文件夹,看看里面有没有新的东东:

好了,之前的猜想是正确的,Excel2007之后的存储采用的方式跟之前的是不一样的,之前用的是二进制的,那样肯定不好扩展

后来就是想怎么去操作这些文件以达到想要的操作,后来选用了比较成熟的epplus,它能够很好地操作excel里面的相关操作,好了,

这次先到这,肚子饿死了,下次具体讲代码方面的实现。

Excel VBA自动添加证书的更多相关文章

  1. Excel VBA自动添加证书(二)

    继续上次没有写完的随笔,本来是很想一次性写完的,但是到中午一点了还没有吃东西,其实饿的不行了,还好写博客时会自动保存,中间电脑实然蓝屏,花了二个多小时写的没有点击保存,吓我一下,以为会全没了. 前面讲 ...

  2. Excel 用row()函数 在Excel中自动添加序号,

    1.如图 2.用if条件根据产品名称判断是否有值进而序号自动添加 If(G9="","",Row()-8)

  3. Excel VBA: 自动生成巡检报表并通过邮件定时发送

    目录 环境说明逻辑结构效果说明及截图①.安装SecureCRT②. 自动巡检脚本③. 数据检索并FTP传送④. 安装Excel 2013⑤. 安装Serv-U⑥. 自动生成图表并邮件发送 环境说明 系 ...

  4. Excel VBA(宏):添加宏

    写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...

  5. Excel vba:批量生成超链接,添加边框,移动sheet等

    Excel vba 操作 批量生成sheet目录并添加超链接 Sub Add_Sheets_Link() 'Worksheets(5)为清单目录页 '在sheet页上生成sheet页名字并超链接 To ...

  6. Excel VBA附合导线平差自动计算表

    这是6,7年前做的一个excel vba自动计算附合导线平差的表格. 对于做测绘的朋友来说,附合导线平差是最基础的技能,目前来说,能平差的软件和工具也很多,像南方的平差易,科傻平差.清华三维平差等,但 ...

  7. 来吧!带你玩转 Excel VBA

    来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...

  8. Excel坐标自动在AutoCad绘图_2

    众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...

  9. Excel VBA 连接各种数据库(一) VBA连接MySQL数据库

    本文参考[东围居士]的cnblog博文  Excel.VBA与MySQL交互  在自己机器上调试成功,把调试中遇到的问题一并写出了. 本文主要涉及: VBA中的MySQL环境配置 VBA连接MySQL ...

随机推荐

  1. 写CSS的布局

    刚写页面的时候写CSS觉得一个选择器中的每个声明分别占一行看起来舒服些,但随着页面大了,写的东西多了,看起来就很乱了.所以每个声明连着写其实更加好些

  2. linux 源码安装

    下载源码安装包,一般为.tar.gz格式 解压源码至文件夹,linux终端进入该文件夹,安装只需三步,第四步为扫尾工作: ./configure --prefix=/usr/self/文件夹名称    ...

  3. NandFlash读写

    1.NandFlash分类 根据物理结构上的区别,NandFlash主要分为如下两类:•SLC (Single Level Cell): 单层式存储•MLC (Multi Level Cell): 多 ...

  4. STL之迭代器(iterator)

    STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再用一帖粘着剂将它们撮合在一起.没错,这个粘着剂正是迭代器(iterator).迭代器的主要目的是通过遍历来对容器中元素进行相关操作.算法 ...

  5. vs2013_arcgis_developer_kit_101_install

    1.修改注册表以安装AE101 在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0增加类型为REG_SZ的 ...

  6. Windows:文件服务器,访问进去不能查看到完整的文件

    文件服务器,访问进去不能查看到完整的文件:别人访问却可以查看到完整的所有文件 可能是登录的帐号串掉导致,删除文件服务器帐号,重新访问: cmd: net use /delete *

  7. 使用apache-jMeter出现乱码问题。

    服务器字符(utf-8)正常,但是在使用apache-jMeter的时候,得到的数据会乱码.所以我们需要设置jmeter的字符编码.默认为ISO-8859-1. 进入jmeter.bat文件夹,有个j ...

  8. Python自动化 【第六篇】:Python基础-面向对象

      目录: 面向过程VS面向对象 面向对象编程介绍 为什么要用面向对象进行开发 面向对象的特性:封装.继承.多态 面向过程 VS 面向对象 面向过程编程(Procedural Programming) ...

  9. Hadoop MapReduce编程 API入门系列之薪水统计(三十一)

    不多说,直接上代码. 代码 package zhouls.bigdata.myMapReduce.SalaryCount; import java.io.IOException; import jav ...

  10. ios block和函数的区别

    block是封装了一段代码的OC对象,可以被设为Property, 在调用block的地方block都会被替换成相应的代码,相当于内联函数. 函数可以使代码更加整洁易读,使用block会使代码可读性变 ...