學(xué)習(xí)啦>學(xué)習(xí)電腦>工具軟件>辦公軟件學(xué)習(xí)>Excel教程>Excel2010教程>

excel2010vba加密的方法

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

  在Excel中除了可以利用設(shè)置外還可以利用VBA編程進(jìn)行加密,利用VBA編程可以令加密更加嚴(yán)謹(jǐn),下面是由學(xué)習(xí)啦小編分享的excel2010 vba加密的方法,希望對你有用。

  excel2010 vba加密的方法

  利用VBA加密步驟1:對想發(fā)布自己的Excel VBA的開發(fā)者來說,Excel VBA本身不提供VBA代碼的加密,封裝。目前比較最可靠的Excel VBA代碼加密的方法,就是把VBA代碼編譯成DLL(動態(tài)鏈接庫文件),在VBA中調(diào)用,從而實(shí)現(xiàn)VBA代碼的加密,封裝,方便和Excel文件整合發(fā)布出去。DLL文件基本沒法被破解,除此之外其他的VBA加密方法,都可以被輕易破解。用戶只需要你的Excel文件,和這個(gè)dll文件就夠了,不必安裝其他任何程序。

  利用VBA加密步驟2:編譯成DLL文件其實(shí)很簡單。機(jī)子上安裝Visual Basic 6.0就可以編譯成dll文件了,Visual Basic .Net反倒有點(diǎn)麻煩。Visual Basic通過OLE(對象鏈接引擎)技術(shù)調(diào)用Excel以及其中的對象。

  利用VBA加密步驟3:總的來說,VBA代碼只要做一些簡單修改就可以了。主要是對Excel對象的引用,不然VB不能識別vba代碼中的對象。比如如下的VBA代碼

  windows(workbook1).activate

  range("L50")=1

  直接放進(jìn)VB中編譯成Dll就會有問題,因?yàn)閂B不能直接識別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中調(diào)試通過,就可以成功的把多個(gè)sub子程序全部編譯封裝在一個(gè)單獨(dú)的DLL文件了。以后直接在VBA中引用這個(gè)DLL文件中的各個(gè)sub子程序。原來大段的VBA代碼全部被封裝在DLL文件中,對用戶不可見。

  利用VBA加密步驟6:開發(fā)者還可以在程序運(yùn)行前顯示軟件的版權(quán)信息,設(shè)置密碼。因?yàn)檫@些也封裝在DLL文件中,所以用戶沒法破解。

  EXCEL中如何控制每列數(shù)據(jù)的長度并避免重復(fù)錄入

  1、用數(shù)據(jù)有效性定義數(shù)據(jù)長度。

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

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

  2、用條件格式避免重復(fù)。

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

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


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

1.excel2010 vba 密碼破解的方法

2.excel2010調(diào)出vba的方法

3.excel2013關(guān)于VBA密碼破解的教程

4.excel 2010啟用宏的方法

5.excel2013關(guān)于密碼設(shè)置的教程

6.Excel2010怎樣添加Vba編輯器

7.excel2013如何打開vba的方法

639133