当前位置: 主页 > Office办公 > Excel专区 > Excel教程 > Excel2010教程 > excel2010vba加密的方法

excel2010vba加密的方法

  • 2023-03-11
  • 来源/作者: Wps Office教程网/ 菜鸟图库
  • 236 次浏览

  在Excel中除了可以利用设置外还可以利用VBA编程进行加密,利用VBA编程可以令加密更加严谨,下面是由小编分享的excel2010 vba加密的方法,希望对你有用。

  excel2010 vba加密的方法

  利用VBA加密步骤1:对想发布自己的Excel VBA的开发者来说,Excel VBA本身不提供VBA代码的加密,封装。目前比较最可靠的Excel VBA代码加密的方法,就是把VBA代码编译成DLL(动态链接库文件),在VBA中调用,从而实现VBA代码的加密,封装,方便和Excel文件整合发布出去。DLL文件基本没法被破解,除此之外其他的VBA加密方法,都可以被轻易破解。用户只需要你的Excel文件,和这个dll文件就够了,不必安装其他任何程序。

  利用VBA加密步骤2:编译成DLL文件其实很简单。机子上安装Visual Basic 6.0就可以编译成dll文件了,Visual Basic .Net反倒有点麻烦。Visual Basic通过OLE(对象链接引擎)技术调用Excel以及其中的对象。

  利用VBA加密步骤3:总的来说,VBA代码只要做一些简单修改就可以了。主要是对Excel对象的引用,不然VB不能识别vba代码中的对象。比如如下的VBA代码

  windows(workbook1).activate

  range("L50")=1

  直接放进VB中编译成Dll就会有问题,因为VB不能直接识别range对象。

  需要添加几行简单的代码来告诉vb怎么引用excel中的这些对象:

  dim xlapp as excel.applicatiion

  dim xlbook as excel.workbook

  dim xlsheet as excel.worksheet

  set xlapp=getobject(,"excel.application)

  set xlbook=getobject(xxx)

  set xlsheet=xlbook.worksheets(1)

  利用VBA加密步骤4:然后就照搬你原有的vba代码,但是前面加上对象引用:

  xlsheet.range("L50")=1

  利用VBA加密步骤5:对VBA代码做这样修改,在VB中调试通过,就可以成功的把多个sub子程序全部编译封装在一个单独的DLL文件了。以后直接在VBA中引用这个DLL文件中的各个sub子程序。原来大段的VBA代码全部被封装在DLL文件中,对用户不可见。

  利用VBA加密步骤6:开发者还可以在程序运行前显示软件的版权信息,设置密码。因为这些也封装在DLL文件中,所以用户没法破解。

  EXCEL中如何控制每列数据的长度并避免重复录入

  1、用数据有效性定义数据长度。

  用鼠标选定你要输入的数据范围,点"数据"->"有效性"->"设置","有效性条件"设成"允许""文本长度""等于""5"(具体条件可根据你的需要改变)。

  还可以定义一些提示信息、出错警告信息和是否打开中文输入法等,定义好后点"确定"。

  2、用条件格式避免重复。

  选定A列,点"格式"->"条件格式",将条件设成“公式=COUNTIF($A:$A,$A1)>1”,点"格式"->"字体"->"颜色",选定红色后点两次"确定"。

  这样设定好后你输入数据如果长度不对会有提示,如果数据重复字体将会变成红色。