構文
Worksheet.Protect (Password, Optionals…)
Worksheet.UnProtect (Password)
Password・・・シート保護のパスワードを指定可能(省略可)
Optionals・・・ワークシート保護時に許可するユーザ操作を指定可能(省略可)※詳細は後述の表を参照
Optionals・・・ワークシート保護時に許可するユーザ操作を指定可能(省略可)※詳細は後述の表を参照
Protectメソッドで対象ワークシートを保護ます。
Unprotectedメソッドで対象ワークシートの保護解除します。
引数でパスワード指定や、ワークシート保護時に許可するユーザ操作をオプションで指定することもできます。
引数で指定できるオプションは下表の通りです。
一部を除き、校閲>シートの保護 で表示される「ユーザに許可する操作」の設定と同意になります。
(下表の説明欄に鍵括弧付き部分が設定名称に対応しています)
引数名 | 省略 | 定数/データ型 | デフォルト値 | 説明 |
Password | 可 | Variant型 | – | シート保護のパスワード指定 |
DrawingObjects | 可 | Variant型 | True | True:「オブジェクトの編集」を許可しない Fasle: 「オブジェクトの編集」を許可する |
Contents | 可 | Variant型 | True | True:シートとロックされたセルの内容を保護する Fasle: シートとロックされたセルの内容を保護しない |
Scenarios | 可 | Variant型 | True | True:シナリオの編集」を許可しない Fasle: 「シナリオの編集」を許可する |
UserInterfaceOnly | 可 | Variant型 | False | True:ユーザ操作からワークシートを保護するが、マクロからは保護しない Fasle: ユーザ操作及びマクロからワークシートを保護する |
AllowFormattingCells | 可 | Variant型 | False | True:「セルの書式設定」を許可する Fasle: 「セルの書式設定」を許可しない |
AllowFormattingColumns | 可 | Variant型 | False | True:「列の書式設定」を許可する Fasle: 「列の書式設定」を許可しない |
AllowFormattingRows | 可 | Variant型 | False | True:「行の書式設定」を許可する Fasle: 「行の書式設定」を許可しない |
AllowInsertingColumns | 可 | Variant型 | False | True:「列の挿入」を許可する Fasle: 「列の挿入」を許可しない |
AllowInsertingRows | 可 | Variant型 | False | True:保護されたシートで「行の挿入」を許可する Fasle: 保護されたシートで「行の挿入」を許可しない |
AllowInsertingHyperlinks | 可 | Variant型 | False | True:「ハイパーリンクの挿入」を許可する Fasle: 「ハイパーリンクの挿入」を許可しない |
AllowDeletingColumns | 可 | Variant型 | False | True:「列の削除」を許可する Fasle: 「列の削除」を許可しない |
AllowDeletingRows | 可 | Variant型 | False | True:「行の削除」を許可する Fasle: 「行の削除」を許可しない |
AllowSorting | 可 | Variant型 | False | True:「並べ替え」を許可する Fasle: 「並べ替え」を許可しない |
AllowFiltering | 可 | Variant型 | False | True:「オートフィルタの使用」を許可する Fasle: 「オートフィルタの使用」を許可しない |
AllowUsingPivotTables | 可 | Variant型 | False | True:「ピボットテーブルとピボットグラフの使用」を許可する Fasle: 「ピボットテーブルとピボットグラフの使用」を許可しない |
Protect/Unprotectメソッドのサンプルコード
Public Sub sample() '■デフォルトオプションでアクティブシートを保護/保護解除 ActiveSheet.Protect ActiveSheet.Unprotect '■パスワード付きでアクティブシートを保護/保護解除 ActiveSheet.Protect Password:="password" ActiveSheet.Unprotect Password:="password" '■特定のユーザ操作を全て許可してアクティブシートを保護する ActiveSheet.Protect _ DrawingObjects:=False, _ Scenarios:=False, _ AllowFormattingCells:=True, _ AllowFormattingColumns:=True, _ AllowFormattingRows:=True, _ AllowInsertingColumns:=True, _ AllowInsertingRows:=True, _ AllowInsertingHyperlinks:=True, _ AllowDeletingColumns:=True, _ AllowDeletingRows:=True, _ AllowSorting:=True, _ AllowFiltering:=True, _ AllowUsingPivotTables:=True '■アクティブシート保護を解除する ActiveSheet.Unprotect End Sub
注意点
- DrawingObjectsとScenariosの引数は、他のパラメータとデフォルト値が反転している。
混同しないように注意する。 - 他の引数は、対象オプションにチェックを付けた時がTrueになりますが、上記引数は逆にFalseになります。
関連記事
コメント