學習啦>學習電腦>工具軟件>辦公軟件學習>Excel教程>Excel2010教程>

excel2010vba加密的方法

時間: 業(yè)華773 分享

  在Excel中除了可以利用設置外還可以利用VBA編程進行加密,利用VBA編程可以令加密更加嚴謹,下面是由學習啦小編分享的excel2010 vba加密的方法,希望對你有用。

  excel2010 vba加密的方法

  利用VBA加密步驟1:對想發(fā)布自己的Excel VBA的開發(fā)者來說,Excel VBA本身不提供VBA代碼的加密,封裝。目前比較最可靠的Excel VBA代碼加密的方法,就是把VBA代碼編譯成DLL(動態(tài)鏈接庫文件),在VBA中調用,從而實現(xiàn)VBA代碼的加密,封裝,方便和Excel文件整合發(fā)布出去。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:開發(fā)者還可以在程序運行前顯示軟件的版權信息,設置密碼。因為這些也封裝在DLL文件中,所以用戶沒法破解。

  EXCEL中如何控制每列數據的長度并避免重復錄入

  1、用數據有效性定義數據長度。

  用鼠標選定你要輸入的數據范圍,點"數據"->"有效性"->"設置","有效性條件"設成"允許""文本長度""等于""5"(具體條件可根據你的需要改變)。

  還可以定義一些提示信息、出錯警告信息和是否打開中文輸入法等,定義好后點"確定"。

  2、用條件格式避免重復。

  選定A列,點"格式"->"條件格式",將條件設成“公式=COUNTIF($A:$A,$A1)>1”,點"格式"->"字體"->"顏色",選定紅色后點兩次"確定"。

  這樣設定好后你輸入數據如果長度不對會有提示,如果數據重復字體將會變成紅色。


看了excel2010 vba加密的方法還看了:

1.excel2010 vba 密碼破解的方法

2.excel2010調出vba的方法

3.excel2013關于VBA密碼破解的教程

4.excel 2010啟用宏的方法

5.excel2013關于密碼設置的教程

6.Excel2010怎樣添加Vba編輯器

7.excel2013如何打開vba的方法

639133