我有一个工作簿,其中根据要求有几张纸。在这个工作簿中,我使用了宏并锁定了一些特定的单元格和列,我使用了取消保护和保护选项。在我的机器上一切正常,但是当我将它作为 SharedWorkBook 时,它给了我错误,特别是ThisWorkBook.Sheets("PSE").Unprotect和ThisWorkBook.Sheets("PSE").Protect语句。所以我用ThisWorkBook.Sheets("PSE").UnprotectSharing和ThisWorkBook.Sheets("PSE").ProtectSharing代替它们。即使现在我也遇到这些行的错误。
Sub SheetHider()
ThisWorkbook.Sheets("SheetA").UnprotectSharing
Cuser = ThisWorkbook.Sheets("SheetA").Range("A2").Value
Run Code Online (Sandbox Code Playgroud)
并且错误是
运行时错误“438”对象不支持此属性或方法。
我的要求: 1)我必须使用宏,锁定属性,以便我必须使用 Unprotect 和 Protect 语句,当我将其设为 SharedWorkBook 时,这些东西应该可以工作。
一个星期以来,我一直在为此搜索许多网站。至少给我一些替代方案来做到这一点。
任何帮助将不胜感激。谢谢
小智 5
UnprotectSharing并且ProtectSharing都属于Workbook对象。所以你不能做你想做的事。
您可以这样做ThisWorkbook.UnprotectSharing,ThisWorkbook.ProtectSharing但这只是为了保护共享工作簿设置,以便人们在没有密码的情况下无法删除它。
其次,当共享工作簿时,您无法取消保护或保护工作表。您必须取消共享工作簿,取消保护工作表,然后再次共享工作簿。这不太可行。