Excel VBA: Worksheet.Protect メソッド
Excel VBAのWorksheet.Protect メソッドは、ワークシートの保護を設定するために使用されます。保護を設定することで、データの編集やフォーマットの変更などを制限し、ワークシートを安全に保護することができます。
Worksheet.Protect メソッドの基本的な構文
Worksheet.Protectメソッドの基本的な構文は次のとおりです:
expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
パラメータの説明:
以下に、Worksheet.Protect メソッドの各パラメータの説明と使用可能な値を示します。
- Password: パスワードを設定することで、保護を解除する際に必要となるパスワードを指定します。
- DrawingObjects: Trueに設定した場合、シート上の図形オブジェクトの保護を行います。
- Contents: Trueに設定した場合、シートの内容(セルの値など)の保護を行います。
- Scenarios: Trueに設定した場合、シナリオの保護を行います。
- UserInterfaceOnly: Trueに設定した場合、Excelのユーザーインターフェースを通じた変更のみを制限し、VBAコードからの変更は許可します。
- AllowFormattingCells: Trueに設定した場合、保護中でもセルの書式設定の変更を許可します。
- AllowFormattingColumns: Trueに設定した場合、保護中でも列の書式設定の変更を許可します。
- AllowFormattingRows: Trueに設定した場合、保護中でも行の書式設定の変更を許可します。
- AllowInsertingColumns: Trueに設定した場合、保護中でも列の挿入を許可します。
- AllowInsertingRows: Trueに設定した場合、保護中でも行の挿入を許可します。
- AllowInsertingHyperlinks: Trueに設定した場合、保護中でもハイパーリンクの挿入を許可します。
- AllowDeletingColumns: Trueに設定した場合、保護中でも列の削除を許可します。
- AllowDeletingRows: Trueに設定した場合、保護中でも行の削除を許可します。
- AllowSorting: Trueに設定した場合、保護中でもソートの操作を許可します。
- AllowFiltering: Trueに設定した場合、保護中でもフィルタリングの操作を許可します。
- AllowUsingPivotTables: Trueに設定した場合、保護中でもピボットテーブルの操作を許可します。
Worksheet.Protectメソッドの使用例
Worksheet.Protectメソッドを使用して、ワークシートの保護を設定する基本的なコードは以下のようになります。
Sub SimpleProtectExample()
Worksheets("Sheet1").Protect Password:="password"
End Sub
このコードは、パスワード「password」を使用して、”Sheet1″という名前のワークシートを保護します。この設定では、パスワードを知らない限り、データの編集やフォーマットの変更などが制限されます。
Worksheet.Protectメソッドの詳細な使用例
Worksheet.Protectメソッドの各パラメータを活用することで、ワークシートの保護設定を詳細に制御することが可能です。以下に、パラメータを指定したサンプルコードを示します。
Sub DetailedProtectExample()
Worksheets("Sheet1").Protect Password:="password", AllowFormattingCells:=True
End Sub
このコードでは、パスワード「password」を使用して、”Sheet1″という名前のワークシートを保護します。また、AllowFormattingCellsパラメータをTrueに設定しているため、セルの書式設定の変更は可能となっていますが、それ以外の編集は制限されます。