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

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

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. listed

    http://sebastianruder.com/optimizing-gradient-descent/ http://www.nag.co.uk/pss/nag-and-algorithmic- ...

  2. 【T电商 1】Nginx服务器搭建

    在项目中,首先是需要Nginx服务器作为一个图片服务器来使用.那么,久涉及到服务器的搭建.这次服务器的搭建,主要是在三个环境上进行了学习:CentOS6.2,CentOS7,和Ubuntu16.那么本 ...

  3. VS调试技巧

    下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0; i < 10; i++){if (i == 5)j = 5;},什么都写在一行,你怎么在j=5前面插入 ...

  4. C++ 约瑟夫环问题

    约瑟夫环比较经典了 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去,直 ...

  5. OAuth2集成

    目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题,OAuth就是干这个的,OAuth2是OAuth协议的下一个版本,相比OAut ...

  6. LESS 学习记录(简单入门)

    什么是 LESS LESS是一种动态样式语言,属于 CSS 预处理语言的一种.它使用类似 CSS 的语法,但是 赋予了动态语言的特性,比如变量.继承.运算.函数等,方便 CSS 的编写和维护. 使用 ...

  7. 开发常用小demo 整理

    pc懒加载   https://github.com/ningmengxs/Lazy_loading 元素滑动 js 效果     https://github.com/ningmengxs/elem ...

  8. Windows 7 下如何设置机器级别的DCOM权限

    Windows 7 下如何设置机器级别的DCOM权限 To grant Remote Activation permissions to the SMS Admins group From the S ...

  9. 《高性能JavaScript》笔记

    1. UI Thread 和 UI Queue,中文叫 UI 线程和UI 队列,JavaScript 和  UI 更新共享的进程通常被称为浏览器UI进程. 2. 如果用户企图在任务运行时于页面交互,不 ...

  10. windbg学习!vad

    在ring0 !address不能提供详细的信息了 可以尝试用下!vad !vad扩展显示一个或多个虚拟地址详细的虚拟地址描述符(virtual address descriptor (VAD)). ...