VBA Excel-如何通过vba进行解除保护和保护

我有一本工作手册,根据要求我有几张纸。 在这个工作簿中,我使用了macros,并locking了一些特定的单元格和列,我使用了不保护和保护选项。 一切工作正常在我的机器上,但是当我把它作为SharedWorkBook它给我错误特别是ThisWorkBook.Sheets(“PSE”)。解除保护ThisWorkBook.Sheets(“PSE”)。保护语句。 所以在他们的地方我用ThisWorkBook.Sheets(“PSE”)。UnprotectSharingThisWorkBook.Sheets(“PSE”)。ProtectSharing 。 即使现在,我也得到这些线路的错误。


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

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

我的要求: 1)我必须使用macros,locking属性,以便我必须使用解除保护和保护语句,这些东西应该工作,当我把它作为SharedWorkBook。
我一直在寻找很多网站。 至less给我一些替代scheme来做到这一点。
任何帮助将不胜感激。 谢谢

UnprotectSharingProtectSharing都属于Workbook对象。 所以你不能做你想做的事情。

您可以执行ThisWorkbook.UnprotectSharingThisWorkbook.ProtectSharing但这只是devise来保护共享工作簿设置,以便人们不能没有密码将其删除。

其次,当共享工作簿时,您无法取消保护工作表。 您将不得不取消共享工作簿,取消保护工作表,然后再次共享工作簿。 这不是很可行。

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