代码之家  ›  专栏  ›  技术社区  ›  to StackOverflow

如何判断Excel工作簿是否受保护

  •  4
  • to StackOverflow  · 技术社区  · 16 年前

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

    如果整个工作簿都受到保护,如何使用VBA?

    2 回复  |  直到 9 年前
        1
  •  4
  •   Community Ian Goodfellow    9 年前

    我自己找到了答案:

    我需要 Workbook.ProtectStructure Workbook.ProtectWindows 性质。

        2
  •  2
  •   Guy Starbuck    16 年前

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