當前位置:首頁 » 密碼管理 » excelvba加密代碼

excelvba加密代碼

發布時間: 2022-07-19 07:54:52

① excel vba如何給另一工作薄的工程加密

試試這段代碼吧。

'移除VBA編碼保護
PrivateFunctionMoveProtect()
DimFileNameAsString
FileName=Application.GetOpenFilename("Excel文件(*.xls),*.xls,Excel文件(*.xla),*.xla",,"VBA破解")
IfFileName=FalseThen
ExitFunction
Else
VBAPasswordFileName,False
EndIf
EndFunction

'設置VBA編碼保護
PrivateFunctionSetProtect()
DimFileNameAsString
FileName=Application.GetOpenFilename("Excel文件(*.xls),*.xls,Excel文件(*.xla),*.xla",,"VBA破解")
IfFileName=FalseThen
ExitFunction
Else
VBAPasswordFileName,True
EndIf
EndFunction


PrivateFunctionVBAPassword(FileNameAsString,OptionalProtectAsBoolean=False)
IfDir(FileName)=""Then
ExitFunction
Else
FileCopyFileName,FileName&".bak"
EndIf

DimGetDataAsString*5
OpenFileNameForBinaryAs#1
DimCMGsAsLong
DimDPBoAsLong
Fori=1ToLOF(1)
Get#1,i,GetData
IfGetData="CMG="""ThenCMGs=i
IfGetData="[Host"ThenDPBo=i-2:ExitFor
Next

IfCMGs=0Then
MsgBox"請先對VBA編碼設置一個保護密碼...",32,"提示"
GoToclo
EndIf

IfProtect=FalseThen
DimStAsString*2
Dims20AsString*1

'取得一個0D0A十六進制字串
Get#1,CMGs-2,St

'取得一個20十六制字串
Get#1,DPBo+16,s20

'替換加密部份機碼
Fori=CMGsToDPBoStep2
Put#1,i,St
Next

'加入不配對符號
If(DPBo-CMGs)Mod2<>0Then
Put#1,DPBo+1,s20
EndIf
MsgBox"文件解密成功......",32,"提示"
Else
DimMMsAsString*5
MMs="DPB="""
Put#1,CMGs,MMs
MsgBox"對文件特殊加密成功......",32,"提示"
EndIf
clo:
Close
EndFunction

② 求教怎麼用WINHEX給EXCEL VBA宏加密

用WINHEX給EXCEL VBA宏加密的方法:
一、為VBA工程設置密碼
限制別人查看VBA源代碼的一個簡單辦法就是設置VBA工程密碼或設置工程不可查看。方法如下:
1、按Alt+F11,在VBE窗口在,單擊「工具—VBAproject屬性」,打開「VBAproject屬性」對話框。
2、單擊「VBAproject屬性」對話框中的「保護」選項卡。如圖1所示,選中「查看時鎖定工程」復選框。在「密碼」框中輸入保護密碼,在「確認密碼」框中再輸入一次密碼,然後單擊「確定」,關閉「VBAproject屬性」對話框。
3、保存並關閉工作簿。
當你再打開該工作簿後,打開VBE窗口時,就不再顯示VBA的窗體、模塊等對象,看不到VBA源代碼了。
★提示:這種密碼保護很容易破解。★

二、設置工程不可查看
限制別人查看VBA源代碼的方法就是設置「工程不可查看」。方法如下:
共享級鎖定:先對Excel文件的「VBAProject工程」進行密碼保護(參考「為VBA工程設置密碼」)。再打開要保護的文件,單擊「工具_保護_保護並共享工作簿_以追蹤修訂方式共享」,如圖2所示,輸入保護密碼再保存文件。當你得新打開「VBAProject」工程屬性時,就將會提示:「工程不可看!」

破壞型鎖定:用16進制編輯工具(如WinHex等)打開Excel文件,查找定位以下地方: ID="{00000000-0000-0000-0000-000000000000}"(註:實際顯示不會全部為0),此時,你只要將其中的位元組隨便修改一下即可。
★提示:在修改前最好做好你的文檔備份。當然這種方法也可破解的,因為加密總是相對。★

三、防止強制中斷方式查看VBA代碼
有時,我們可以通過運行程序,然後在運行的過程中強制按「Ctrl+Break」強制中斷程序運行,進VBE編輯器查看源碼。為此,我們可以在工作簿的open事件中加入以下語句來屏蔽「Ctrl+Break」組合鍵。
Application.EnableCancelKey = xlDisabled
如果要恢復「Ctrl+Break」組合鍵,則用下面的語句。
Application.EnableCancelKey = xlInterrupt

四、禁用宏則關閉Excel文件
當打開含有宏的文件時,如果「禁用宏」並打開文件後,所有編輯的VBA程序將失效。如何當用戶打開Excel文件並禁用宏時,讓文件自動關閉呢?
我們可以通過調用Excel4.0版(Excel的一個老版本)的宏命令來解決這個問題。因為「禁用宏」功能無法禁用4.0版本的宏。當您設置完成,再打開文件並點擊禁用宏時,系統就會彈如下圖所示提示信息,單擊「確定」後文件就會自動關閉。
禁用宏後的提示信息
設置步驟和使用方法:
(1)打開要設置的文件,在VBE編輯器中添加一個模塊。寫入以下代碼:
Function NoRunMacro () 』A3單元格中的字元
End Function
(2)在任一個工作表標簽上單元格右鍵,執行「插入」命令打開如下圖所示對話框,在常用選項卡中選取「MS Excel4.0宏表」項,然後單擊「確定」按鈕,在當前工作簿中就會新建一個默認名Macro1的「宏表」,更改表名為「宏表1」
在宏表的以下單元格中輸入公式:
(3)逐個選取工作簿中其他工作表,然後執行【插入】/【名稱】/【定義】命令,打開【定義名稱】對話框。在「在當前工作簿中的名稱」框中輸入:工作表名稱+Auto_Activate。如下圖所示在Sheet1工作表中打開【定義名稱】對話框,定義的名稱就為:Sheet1!Auto_Activate。
然後在引用位置文本框中輸入:=宏表1!$A$2。

★提示:對於一個工作表數量較多的工作表逐個設置會很麻煩。所以這時可以只需為其中一個設置名稱,但要保障「當打開工作簿時,必需是設置名稱的工作表處於選取狀態」★

五、限制工作簿的使用次數,超過次數就自我刪除
限制工作簿的使用次數,超過次數就自我刪除,也不失為保護作品的一種好方法。但這種方法需要修改注冊表。
有關程序的代碼如下:
Private Sub Workbook_Open()
Dim counter As Long, term As Long, chk
chk = GetSetting("hhh", "budget", "使用次數", "")
If chk = "" Then
term = 50 '限制使用50次
MsgBox "本工作簿只能使用" & term & "次" & vbCrLf & "超過次數將自動銷毀!", vbExclamation
SaveSetting "hhh", "budget", "使用次數", term
Else
counter = Val(chk) - 1
MsgBox "你還能使用" & counter & "次,請及時注冊!", vbExclamation
SaveSetting "hhh", "budget", "使用次數", counter
If counter <= 0 Then
DeleteSetting "hhh", "budget", "使用次數"
killme
End If
End If
End Sub

Public Sub killme()
Application.DisplayAlerts = False
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End Sub
將上述程序復制到工作簿的ThisWorkbook對象模塊中,保存文件即可。

③ EXCE如何用VBA代碼加入啟動時對所有工作表加密,並設指定密碼

通過代碼對excel代碼進行加密即可:

1、打開您需要破解保護密碼的Excel文件;

2、依次點擊菜單欄上的工具---宏----錄制新宏,輸入宏名字如:aa;

3、停止錄制(這樣得到一個空宏);

4、依次點擊菜單欄上的工具---宏----宏,選aa,點編輯按鈕;

5、刪除窗口中的所有字元(只有幾個),替換為下面的內容;

Sub添加密碼()
DimxAsInteger
Forx=1ToSheets.Count
Sheets(x).Protect"123"
Nextx
hisWorkbook.Protect"123"

④ Excel VBA工程加密的代碼怎麼寫

你可以用附件的方法試試,密碼123,單獨的代碼是沒法完成的

⑤ EXCEL過期自動加密VBA代碼

在VBA窗口,右鍵工作薄或者工作表名選擇VBAProject屬性,第二個選項卡「保護」,輸入密碼就可以對工程代碼加密了

⑥ excel中vba加密了怎麼破解代碼

VBA Password Bypasser,這個軟體就很好用

⑦ 請問excel中怎樣用vba代碼給vba添加密碼

不用給VBA代碼就可以保護你的VBA代碼啦~
第一種:在VBE窗口中單擊菜單「工具」->「VBAProject屬性」->「保護」->勾選「查看時鎖定工程」輸入密碼->確認密碼。保存關閉後重新打開就行了。
還有一種就是「工程不可查看」,先試一下第一種,不行再HI我。

⑧ 怎麼給excel vba編輯器加密

不用代碼
VBA中---工具---VBAproject屬性----保護---查看時鎖定工程(選中)---設好密碼---保存退出---再進就會如你所願了

熱點內容
安卓型號如何隱藏wifi 發布:2025-05-10 22:33:26 瀏覽:581
sqlserver位置 發布:2025-05-10 22:27:31 瀏覽:718
pythonsae 發布:2025-05-10 21:59:30 瀏覽:965
rdp演算法 發布:2025-05-10 21:46:40 瀏覽:919
c語言求素數的方法 發布:2025-05-10 21:46:39 瀏覽:765
戰地5配置最低怎麼設置 發布:2025-05-10 21:44:12 瀏覽:675
microsoftsql2012 發布:2025-05-10 21:43:33 瀏覽:429
電腦買個游戲伺服器 發布:2025-05-10 21:25:15 瀏覽:241
機櫃存儲空間 發布:2025-05-10 21:25:07 瀏覽:268
安卓手機如何修改首屏 發布:2025-05-10 21:17:59 瀏覽:959