excel2010vba加密的方法
在Excel中除了可以利用設置外還可以利用VBA編程進行加密,利用VBA編程可以令加密更加嚴謹,下面是由學習啦小編分享的excel2010 vba加密的方法,希望對你有用。
excel2010 vba加密的方法
利用VBA加密步驟1:對想發(fā)布自己的Excel VBA的開發(fā)者來說,Excel VBA本身不提供VBA代碼的加密,封裝。目前比較最可靠的Excel VBA代碼加密的方法,就是把VBA代碼編譯成DLL(動態(tài)鏈接庫文件),在VBA中調(diào)用,從而實現(xiàn)VBA代碼的加密,封裝,方便和Excel文件整合發(fā)布出去。DLL文件基本沒法被破解,除此之外其他的VBA加密方法,都可以被輕易破解。用戶只需要你的Excel文件,和這個dll文件就夠了,不必安裝其他任何程序。
利用VBA加密步驟2:編譯成DLL文件其實很簡單。機子上安裝Visual Basic 6.0就可以編譯成dll文件了,Visual Basic .Net反倒有點麻煩。Visual Basic通過OLE(對象鏈接引擎)技術調(diào)用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中調(diào)試通過,就可以成功的把多個sub子程序全部編譯封裝在一個單獨的DLL文件了。以后直接在VBA中引用這個DLL文件中的各個sub子程序。原來大段的VBA代碼全部被封裝在DLL文件中,對用戶不可見。
利用VBA加密步驟6:開發(fā)者還可以在程序運行前顯示軟件的版權信息,設置密碼。因為這些也封裝在DLL文件中,所以用戶沒法破解。
EXCEL中如何控制每列數(shù)據(jù)的長度并避免重復錄入
1、用數(shù)據(jù)有效性定義數(shù)據(jù)長度。
用鼠標選定你要輸入的數(shù)據(jù)范圍,點"數(shù)據(jù)"->"有效性"->"設置","有效性條件"設成"允許""文本長度""等于""5"(具體條件可根據(jù)你的需要改變)。
還可以定義一些提示信息、出錯警告信息和是否打開中文輸入法等,定義好后點"確定"。
2、用條件格式避免重復。
選定A列,點"格式"->"條件格式",將條件設成“公式=COUNTIF($A:$A,$A1)>1”,點"格式"->"字體"->"顏色",選定紅色后點兩次"確定"。
這樣設定好后你輸入數(shù)據(jù)如果長度不對會有提示,如果數(shù)據(jù)重復字體將會變成紅色。
看了excel2010 vba加密的方法還看了: