Excel ワークシートのプロパティを使用して、ワークシートが保護されているかどうかを確認できます (Worksheet.Protection、Worksheet.ProtectContents など)。
ブック全体が保護されているかどうかを VBA を使用して確認するにはどうすればよいですか?
Excel ワークシートのプロパティを使用して、ワークシートが保護されているかどうかを確認できます (Worksheet.Protection、Worksheet.ProtectContents など)。
ブック全体が保護されているかどうかを VBA を使用して確認するにはどうすればよいですか?
自分で答えを見つけました:
Workbook.ProtectStructure
とWorkbook.ProtectWindows
プロパティが必要です。
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 を返します。これがあなたが探していたものであることを願っています。