我有下面的代碼,以保護工作簿的表在Excel 2007中工作表保護使用ws.protect設置
Private Sub password_protectallsheets()
For Each ws In Worksheets
ws.protect Password = "edc1"
Next
End Sub
但是當我嘗試使用密碼通過Excel 2007菜單取消保護工作表(查看 - >取消保護表),它表示您提供的密碼不正確。
任何幫助非常感謝。
我有下面的代碼,以保護工作簿的表在Excel 2007中工作表保護使用ws.protect設置
Private Sub password_protectallsheets()
For Each ws In Worksheets
ws.protect Password = "edc1"
Next
End Sub
但是當我嘗試使用密碼通過Excel 2007菜單取消保護工作表(查看 - >取消保護表),它表示您提供的密碼不正確。
任何幫助非常感謝。
Ws.Unprotect是否真的保護工作表? - 切切實實的它取消保護工作表不設置保護
設置保護在宏爲什麼不記錄保護工作表,並看看代碼
嘗試:
Option Explicit
Private Sub password_protectallsheets()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect "edc1"
Next
End Sub
沒有password
關鍵參數。
它的工作對我的Excel 2007中
順便說一句,一定要複製/粘貼密碼或一定要檢查,如果最後一個字符是一個閹1
(一個)或l
(小寫字母L
)。
密碼參數需要用「:=」指定 - 不只是「=」。這是方法的參數真一般:
ws.protect Password := "edc1"
可以讓編譯器捕獲這些類型的錯誤,始終使用選擇的模塊的開頭明確,如JMAX上面已經做。當你這樣做的時候,當你忘記「:」選項時,編譯器會給你一個「Variable not Defined」錯誤選項Explicit將爲你節省大量的時間和其他類型的變量聲明錯誤。要爲所有新模塊啓用它,請在VBE中選中工具>選項>編輯>需要變量聲明。
我找不到的部分是爲什麼在沒有「:」密碼的代碼中完全分配了。我希望這張表能夠得到保護,但沒有密碼。
這是一個錯字。自從編輯了我的帖子。 – ashleych