エクセルでは、校閲タグでブックの保護とシートの保護を行うことができます。パスワードをつけることもできます。ここでは、これらの操作を VBA から行うサンプルを掲載しています。
スポンサーリンク
ブックの保護とシートの保護
ブックの保護とシートの保護はエクセルでは以下のダイアログで設定できます。これらの操作を VBA から行います。

ブックの保護とシートの保護ダイアログ
ブックおよびすべてのシートをパスワードを設定して保護するサンプルになります。
Sub ブックとすべてのシートを保護する()
Dim o As Object
For Each o In Sheets
' シートを保護する
o.Protect UserInterfaceOnly:=True, Password:="password"
Next
' ブックを保護する
ThisWorkbook.Protect Structure:=True, Password:="password"
End Sub
シートを保護するときに指定している UserInterfaceOnly ですが、True に設定すると言う意味は、シートの保護によって操作できなくなるのはユーザーインターフェース(エクセルの画面メニュー)からの操作だけにするということです。
ユーザーインターフェースではない VBA からは変更できるようになります。設定しておいたほうが何かと安心です。
ブックの保護に Structure を True にしていますが、保護対象のシート構成チェックボックスに対応しています。ウィンドウチェックボックスに対応するのは Windows パラメータです。Windows パラメータについては、利用する機会は余りないと思います(個人的な意見です)。
ブックとシートの保護を解除する
次は、パスワード付で保護されたブックとシートの保護を解除するサンプルです。
Sub ブックとすべてのシートの保護を解除する()
Dim o As Object
' ワークブックの保護を解除する
ThisWorkbook.Unprotect Password:="password"
For Each o In Sheets
' シートの保護を解除する
o.Unprotect Password:="password"
Next
End Sub