Sub ProtectAll()
Dim wSheet As Worksheet
Dim ShPwd As String
ShPwd = "123456789"
CurPath = ActiveWorkbook.Path
CurFilename = ActiveWorkbook.Name
CurFile = CurPath & "" & CurFilename
For Each wSheet In Worksheets
wSheet.Protect Password:=ShPwd, DrawingObjects:=False, Contents:=True, Scenarios:=True, AllowFormattingColumns:=False, AllowFormattingRows:=True, _
AllowUsingPivotTables:=True
Next wSheet
ActiveWorkbook.Protect (Pwd)
ActiveWorkbook.ProtectSharing Filename:=CurFile, SharingPassword:=ShPwd
End Sub
所以我在最后一行收到一个错误,似乎有共享密码,我在那一行做错了什么。 当我运行宏时,我收到运行时错误 5 无效调用或参数的错误。
我怀疑您可能只能保护或保护共享单个工作簿,而不能同时使用两者。 尝试删除/注释掉该行:
ActiveWorkbook.Protect (Pwd)
(当然还有ActiveWorkbook.ProtectSharing ...
行(。
这在一个简单的测试中对我有用。