Domanda

Posso usare le proprietà di un foglio di lavoro di Excel per sapere se il foglio di lavoro è protetto (Worksheet.Protection, Worksheet.ProtectContents ecc.)

Come posso sapere usando VBA se l'intera cartella di lavoro è stata protetta?

È stato utile?

Soluzione

Ho trovato la risposta da solo:

Ho bisogno delle proprietà Workbook.ProtectStructure e Workbook.ProtectWindows .

Altri suggerimenti

Worksheet.ProtectedContents è ciò che dovresti usare, su ogni foglio di lavoro.

Quindi vorrei impostare un ciclo come questo:

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

La funzione restituirà True se ogni foglio di lavoro è protetto e False se ci sono fogli di lavoro non protetti. Spero che questo sia quello che stavi cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top