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

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

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. 46. Partition List

    Partition List Given a linked list and a value x, partition it such that all nodes less than x come ...

  2. Action<T1, T2>委托

    封装包含两个参数的方法委托,没有返回值. 语法 public delegate void Action<in T1, in T2>( T1 arg1, T2 arg2 ) 类型参数 in ...

  3. Multiverse in Doctor Strange // Multiverse在《神秘博士》

    关于<神秘博士>的制作内容 https://www.fxguide.com/quicktakes/bonus-luma-pictures-new-tools-for-doctor-stra ...

  4. 9. Linux远程登录

    1. 检查网络是否通畅 C:\Users\cfm>ping 192.168.232.131 正在 Ping 192.168.232.131 具有 32 字节的数据:来自 192.168.232. ...

  5. node socket.io web

    soket.io & web http://socket.io/get-started/chat/ 新建一個文件夾 soketWeb ; 在sokertWeb 文件夾內新建一個 package ...

  6. Egret和Http请求 (Ajax、XMLHttpRequest、Post、Get)

    一  Http请求 二  AJax和XMLHttpRequest 三  一个Ajax例子 四 Egret中的egret.HttpRequest 五 Post和Get区别 一 Http请求 Http深入 ...

  7. awk用法

    目前虽然有很多工具可以代替awk,但是呢我还是认为awk还是非常重要,比如有时候load数据到hive,mysql发现数据有点问题,这样可以先对比文件和库中数据是否一致,这样awk就发挥用处了,还有从 ...

  8. supervisor 配置

    1. 生成配置文件$ echo_supervisord_conf > /etc/supervisord.conf 2.修改配置文件vi /etc/supervisord.conf找到[inclu ...

  9. 红星美凯龙CEO车建新的圆融和霸气

    待人接物中车建新有许多习惯,与别人一起行走时,走在靠马路的一边:吃饭时最好的菜留给客人.他说,做人往往就在细节中,别小看一个举动,无意中就会感染别人.和别人在一起,你要时时刻刻先考虑对方. 细节上体察 ...

  10. Warchall: Live RCE

    具体漏洞是:CVE-2012-1823(PHP-CGI RCE) 在地址后面加进参数运行对应的php-cgi 参数的行为 例如 index.php?-s 相参于/usr/bin/php53-cgi/p ...