新建乙個excel工作簿,alt+f11 開啟vba編輯器,新建乙個模組 ,複製以下**,注意如提示變數未定義,則把option explicit行刪除即可,經測試已經通過.
private function vbapassword(filename as string, optional protect as boolean = false)
if dir(filename) = "" then
exit function
else
filecopy filename, filename & ".bak"
end if
dim getdata as string * 5
open filename for binary as #1
dim cmgs as long
dim dpbo as long
for i = 1 to lof(1)
get #1, i, getdata
if getdata = "cmg=""" then cmgs = i
if getdata = "[host" then dpbo = i - 2: exit for
next
if cmgs = 0 then
msgbox "請先對vba編碼設定乙個保護密碼...", 32, "提示"
exit function
end if
if protect = false then
dim st as string * 2
dim s20 as string * 1
'取得乙個0d0a十六進製制字串
get #1, cmgs - 2, st
'取得乙個20十六制字串
get #1, dpbo + 16, s20
'替換加密部份機碼
for i = cmgs to dpbo step 2
put #1, i, st
next
'加入不配對符號
if (dpbo - cmgs) mod 2 <> 0 then
put #1, dpbo + 1, s20
end if
msgbox "檔案解密成功......", 32, "提示"
else
dim mms as string * 5
mms = "dpb="""
put #1, cmgs, mms
msgbox "對檔案特殊加密成功......", 32, "提示"
end if
close #1
end function
這段**很強的...!!
VBA 工作簿結構視窗保護
工作中經常遇到別人發來的 進行資料過濾,但針對有結構保護的工作簿無法插入新 輸出過濾內容,需要對工作簿狀態進行判斷,有保護的在原 指定位置輸出。主要針對狀態判斷 處理 可自行完善 sub 工作簿結構視窗保護 activeworkbook.protect structure true,windows ...
VBA 錄入資料後單元格自動保護
在excel中 審閱 保護工作表 可以選擇對工作表進行保護,下面的 可以用於對輸入內容的單元格進行保護 private sub worksheet selectionchange byval target as range on error resume next 出錯誤之後向下執行 sheet1....
VBA取消工作表或工作薄或工程密碼保護
sub 取消工作表保護 dim sht as worksheet for each sht in worksheets sht.protect drawingobjects true,contents true,scenarios true allowfiltering true,allowusin...