Frage

I Eigenschaften eines Excel-Arbeitsblatt verwenden kann, zu sagen, wenn das Arbeitsblatt geschützt ist (Worksheet.Protection, Worksheet.ProtectContents usw.).

Wie kann ich VBA sagen zu verwenden, wenn die gesamte Arbeitsmappe ist geschützt?

War es hilfreich?

Lösung

Können Sie die Antwort selbst:

Ich brauche die Workbook.ProtectStructure und Workbook.ProtectWindows Eigenschaften.

Andere Tipps

Worksheet.ProtectedContents ist, was Sie würden verwenden müssen, für jedes Arbeitsblatt.

Also ich würde eine Schleife wie folgt aufgebaut:

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

Die Funktion gibt True, wenn jedes Arbeitsblatt geschützt ist, und False, wenn es irgendwelche Arbeitsblätter sind nicht geschützt. Ich hoffe, das ist, was Sie suchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top