導航:首頁 > 文檔加密 > windows文檔宏加密

windows文檔宏加密

發布時間:2025-06-01 09:01:09

1. 求教怎麼用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對象模塊中,保存文件即可。

2. 如何使用宏代碼給word文檔統一進行加密

在實際工作中,為安全起見,筆者給每一個Word2007文檔都加上了密碼,而且為了便於記憶,所有的文檔都使用同一個密碼。所以,每編輯一個新文檔,就要重復添加密碼的操作過程。現在筆者有一種自動給所有Word2007文檔加上統一密碼的好方法。 步驟/方法1、在「視圖」菜單中選擇「宏」選項卡,單擊「錄制宏」命令。
鍵入宏的名稱,在「將宏保存在」框中,單擊「所有文檔(Normal.dotm)」,在「說明」框中,鍵入對宏的說明,比如「給新建文檔自動加上統一密碼」。然後單擊「確定」按鈕開始錄制宏。
2、單擊「Office按鈕」,將游標向下移動到「准備」項上,則右邊自動顯示「准備」菜單,點擊其中的「加密文檔」,彈出「加密文檔」對話框,在「密碼」輸入框中輸入你需要設置的密碼,如123456,單擊確定,再次輸入密碼,再次確定。
3、在「視圖」-「宏」-「停止錄制宏」,單擊查看宏,即可看到剛才錄制的宏。

閱讀全文

與windows文檔宏加密相關的資料

熱點內容
皮革pdf 瀏覽:217
utf8bomlinux 瀏覽:746
騰訊雲伺服器介面崩潰後自動重啟 瀏覽:432
mac開發pdf 瀏覽:316
本地sdk編譯開源代碼 瀏覽:816
伺服器是什麼等級 瀏覽:120
江蘇美女程序員 瀏覽:721
在哪個app抽aj 瀏覽:4
素數加密演示 瀏覽:280
醫美類app哪個最好 瀏覽:737
一億個隨機數用什麼演算法排序 瀏覽:616
python指定id 瀏覽:305
asp編譯原理畢業設計 瀏覽:372
文件夾怎麼用jpg格式 瀏覽:955
伺服器如何防止被封 瀏覽:257
linuxjar腳本 瀏覽:835
伺服器的波浪指示燈什麼用 瀏覽:166
python中定義常值矩陣 瀏覽:91
ftp伺服器地址怎麼填寫 瀏覽:961
2016年程序員節 瀏覽:706