如何判断Excel工作簿是否受到保护
时间:2020-03-06 14:36:23 来源:igfitidea点击:
我可以使用Excel工作表的属性来判断工作表是否受保护(Worksheet.Protection,Worksheet.ProtectContents等)。
我如何使用VBA判断整个工作簿是否已受到保护?
解决方案
每个工作表上都需要使用Worksheet.ProtectedContents。
所以我会建立一个像这样的循环:
Public Function wbAllSheetsProtected(wbTarget As Workbook) As Boolean
Dim ws As Worksheet
wbAllSheetsProtected = True
For Each ws In wbTarget.Worksheets
If ws.ProtectContents = False Then
wbAllProtected = False
Exit Function
End If
Next ws
End Function
如果每个工作表都受保护,则该函数将返回True;如果有任何工作表不受保护,则该函数将返回False。我希望这就是我们想要的。
自己找到答案:
我需要Workbook.ProtectStructure和Workbook.ProtectWindows属性。

