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

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

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. Qlikview 的权限控制

    Qlikview报表控件/数据的权限控制,首先在“文档属性”->“打开”-> 勾选“基于访问权限的初始数据减少”, 这样打开报表的时候会提示输入用户名和密码. Qlikview 的权限控制 ...

  2. Unknow Unknow

    Unknow Unknow,讲的大概意思是:你不知道这事情的时候,那么请不要轻易下任何结论.例如,这个太难了,放弃吧.嗯,这个是捷径.而最后却是,困难的路越走越容易,容易的路越走越难.只是一种常见的现 ...

  3. 使用虚幻引擎中的C++导论(三-反射系统与迭代器)

    使用虚幻引擎中的C++导论(三) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如果有不 ...

  4. Maven实战(五)坐标详解

    1.为什么要定义Maven坐标      在我们开发Maven项目的时候,需要为其定义适当的坐标,这是Maven强制要求的.在这个基础上,其他Maven项目才能应用该项目生成的构件. 2.Maven坐 ...

  5. delphi XE Berlin ReadProcessMemory WriteProcessMemory

    delphi  XE,Berlin [dcc32 Error] Unit9.pas(93): E2033 Types of actual and formal var parameters must ...

  6. MongoDB-MMS使用总结

    环境:阿里云 系统:ubuntu 12.04 数据库:MongoDB shell version: 2.0.4 登录MMS,注册相应用户 根据文档开始安装:Install the Monitoring ...

  7. VS2008的DLL项目添加了方法但是找不到怎么办?

      VS2008中建立了一个DLL项目,使用了一段时间后,在其中一个类中添加了一个方法,然后编译后,拷贝了新的.h文件到使用DLL的项目中,并且.dll和.lib也拷贝到了需要的位置,但是在目标项目中 ...

  8. TortoiseSVN-1.8.11 安装时弹出2503错误导致安装失败解决办法

    这个问题主要是由于msi格式文件在win8中默认不是以管理员身份运行造成,可通过命令行解决: 右键单击win8左下角启动图标,选择命令提示符(管理员): 输入:msiexec /package 要安装 ...

  9. codeforce div 377

    #include <bits/stdc++.h> using namespace std; #define pb push_back #define lb lower_bound #def ...

  10. CommonUtils

    package com.utils; import java.lang.reflect.Field; import java.math.BigDecimal; import java.sql.Time ...