1

我有一本工作簿,其中根据要求有几张纸。在本工作簿中,我使用了宏并锁定了一些特定的单元格和列,我使用了取消保护和保护选项。在我的机器上一切正常,但是当我将其设置为 SharedWorkBook 时,它给了我错误,尤其是ThisWorkBook.Sheets("PSE").UnprotectThisWorkBook.Sheets("PSE").Protect语句。所以代替它们,我使用了ThisWorkBook.Sheets("PSE").UnprotectSharingThisWorkBook.Sheets("PSE").ProtectSharing。即使是现在,我也遇到了这些行的错误。


Sub SheetHider()
ThisWorkbook.Sheets("SheetA").UnprotectSharing
Cuser = ThisWorkbook.Sheets("SheetA").Range("A2").Value

并且错误是
运行时错误“438”对象不支持此属性或方法。

我的要求: 1)我必须使用宏,锁定属性,以便我必须使用 Unprotect 和 Protect 语句,当我将其作为 SharedWorkBook 时,这些东西应该可以工作。
一个星期以来,我一直在为此搜索许多网站。至少给我一些替代方案来做到这一点。
任何帮助将不胜感激。谢谢

4

2 回答 2

5

UnprotectSharing并且ProtectSharing都属于Workbook对象。所以你不能做你想做的事。

您可以这样做ThisWorkbook.UnprotectSharingThisWorkbook.ProtectSharing但这只是为了保护共享工作簿设置,以便人们在没有密码的情况下无法删除它。

其次,共享工作簿时,您不能取消保护或保护工作表。您必须取消共享工作簿,取消保护工作表,然后再次共享工作簿。这不是很实用。

于 2013-01-11T07:16:21.547 回答
0

您必须在保护共享工作簿之前保护工作表,取消保护的顺序相反。

于 2013-01-11T07:02:50.453 回答