4

我可以使用 Excel 工作表的属性来判断工作表是否受保护(Worksheet.Protection、Worksheet.ProtectContents 等)。

如何使用 VBA 判断整个工作簿是否已受到保护?

4

2 回答 2

5

自己找到了答案:

我需要Workbook.ProtectStructureWorkbook.ProtectWindows属性。

于 2008-09-23T15:53:37.460 回答
2

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。我希望这就是你要找的。

于 2008-09-23T15:44:17.703 回答