使用像複選框這樣的觸發器我想保護我的工作簿。我試過Excel 2003:如何使用VBA保護Excel工作簿?
thisworkbook.protect("password",true,true)
thisworkbook.unprotect("password")
它不工作。有什麼建議麼?
使用像複選框這樣的觸發器我想保護我的工作簿。我試過Excel 2003:如何使用VBA保護Excel工作簿?
thisworkbook.protect("password",true,true)
thisworkbook.unprotect("password")
它不工作。有什麼建議麼?
我同意@理查德摩根...你在做什麼應該工作,所以可能需要更多的信息。
微軟對options to protect your Excel 2003 worksheets有一些建議。
這裏是一個小的詳細信息...
從幫助文件(保護法):
expression.Protect(Password, Structure, Windows)
表達必需。一個返回Workbook對象的表達式。
Password可選變體。爲工作表或工作簿指定區分大小寫的密碼的字符串。如果省略此參數,則可以在不使用密碼的情況下解除工作表或工作簿的保護。否則,您必須指定密碼才能解除工作表或工作簿的保護。如果忘記密碼,則無法取消保護工作表或工作簿。將密碼及其相應文檔名稱列在安全的地方是個好主意。
結構可選變體。正確以保護工作簿的結構(工作表的相對位置)。默認值是False。
Windows可選變體。正確以保護工作簿窗口。如果省略該參數,則窗口不受保護。
ActiveWorkbook.Protect Password:="password", Structure:=True, Windows:=True
如果你想在工作層面的工作,我同樣年前用過的東西,當我需要保護/取消保護:
Sub ProtectSheet()
ActiveSheet.Protect "password", True, True
End Sub
Sub UnProtectSheet()
ActiveSheet.Unprotect "password"
End Sub
Sub protectAll()
Dim myCount
Dim i
myCount = Application.Sheets.Count
Sheets(1).Select
For i = 1 To myCount
ActiveSheet.Protect "password", true, true
If i = myCount Then
End
End If
ActiveSheet.Next.Select
Next i
End Sub
在你的示例代碼,你必須卸下支架,因爲它不是功能性的任務;也爲紀錄片原因我建議您使用:=
符號(見下面的示例代碼)
Application.Thisworkbook
是指含有VBA代碼的書,不一定包含數據的書,因此要小心。快遞你工作作爲表對象的片,用邏輯變量傳遞,彙集到下面的子:
Sub SetProtectionMode(MySheet As Worksheet, ProtectionMode As Boolean)
If ProtectionMode Then
MySheet.Protect DrawingObjects:=True, Contents:=True, _
AllowSorting:=True, AllowFiltering:=True
Else
MySheet.Unprotect
End If
End Sub
內.Protect
方法,你可以定義哪些你想允許/禁止。此代碼塊將開啓/關閉保護 - 在本例中沒有密碼,您可以將其添加爲參數或硬編碼在Sub中。無論如何,PW將被硬編碼。如果你不希望這樣,只需調用保護對話框窗口,讓用戶決定做什麼:
Application.Dialogs(xlDialogProtectDocument).Show
希望幫助
祝你好運 - 拾音
要鎖定從整個工作簿在VBA中可以使用Thisworkbook.password
選項。
如果要保護工作表,則必須先使用選項Thisworkbook.sheets.cells.locked = True
鎖定單元格,然後使用選項Thisworkbook.sheets.protect password:="pwd"
。
主要搜索這些關鍵字:Thisworkbook.password
或Thisworkbook.Sheets.Cells.Locked
這是問題的真正答案。 – 2017-02-01 15:37:52
電話是ActiveWorkbook.Protect和ActiveWorkbook.Unprotect,但應該工作。有關錯誤描述和代碼位置的更多詳細信息將有助於解決此問題。 – 2010-09-11 11:32:09
嗨理查德,謝謝你的回覆。當我使用這個工作簿.protect既沒有顯示錯誤也沒有將其設置爲受保護。是否我們應該開啓一些功能來編寫保護表單的代碼。我已啓用我的宏。我沒有任何線索 – Ravi 2010-09-11 11:57:34