我可以使用Excel工作表的属性来判断工作表是否受到保护(例如Worksheet.Protection,Worksheet.ProtectContents等)。
如何使用VBA判断整个工作簿是否被保护?
我可以使用Excel工作表的属性来判断工作表是否受到保护(例如Worksheet.Protection,Worksheet.ProtectContents等)。
如何使用VBA判断整个工作簿是否被保护?
我自己找到了答案:
我需要使用Workbook.ProtectStructure
和Workbook.ProtectWindows
属性。
您需要使用每个工作表上的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。我希望这就是您要寻找的内容。