エクセルでは、校閲タグでブックの保護とシートの保護を行うことができます。パスワードをつけることもできます。ここでは、これらの操作を 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