質問

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 を返します。これがあなたが探していたものであることを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top