2008-09-23 172 views
4

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

如果整个工作簿已被保护,我该如何判断使用VBA?

回答

4

找到自己的答案:

我需要Workbook.ProtectStructureWorkbook.ProtectWindows性能。

2

Worksheet.ProtectedContents是您需要在每个Worksheet上使用的东西。

所以我会成立这样一个循环:

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 

如果每个工作表被保护的函数将返回真,假如果没有保护的任何工作表。我希望这是你正在寻找的。

+1

谢谢,但这不是我要找的。所有工作表都可以在不保护工作簿的情况下受到保护。我需要保护工作簿,以便用户无法取消隐藏隐藏的工作表。我自己找到了答案:Workbook.ProtectStructure和Workbook.ProtectWindows。 – Joe 2008-09-23 15:56:08

相关问题