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