ブックを保護又は保護解除するには「Protect」「UnProtect」を使います。
構文
構文は以下の通りです。
ブックの保護(Protectメソッド)
解説
・ブックオブジェクト:保護を行いたいブックのオブジェクトを指定します。
・Password:パスワード(省略可)を指定することで、解除時にパスワードが必要になります。
・Structure:ブックの構造(シートの挿入・削除、ウィンドウの移動など)を保護するかどうかを指定します。TrueまたはFalseを設定します。
・Windows:ウィンドウの変更を保護するかどうかを指定します。TrueまたはFalseを設定します。
ブックの保護解除(UnProtectメソッド)
解説
・ブックオブジェクト:解除を行いたいブックのオブジェクトを指定します。
・Password:解除するためのパスワードを指定します。
使い方
ProtectとUnProtectの使い方について具体的に説明します。
・ブックの保護
' ブックの保護
ThisWorkbook.Protect Password:="password", Structure:=True, Windows:=True
End Sub
この例では、ThisWorkbook.Protectの後にPassword、Structure、Windowsのパラメータを指定しています。Passwordには任意のパスワードを指定することができますが、省略することも可能です。StructureとWindowsはTrueまたはFalseの値を設定することで、保護する範囲を選択します。
・ブックの保護解除
Dim password As String
password = InputBox("パスワードを入力してください:")
If password <> "" Then
ThisWorkbook.Unprotect password
MsgBox "ブックの保護が解除されました。"
End If
End Sub
この例では、UnprotectButton_Clickサブルーチンがボタンのクリックイベントと関連付けられています。ブックの保護を解除するために、ユーザーにパスワードの入力を求めるためにInputBox関数を使用しています。ユーザーがパスワードを入力し、入力されたパスワードが空ではない場合に、ThisWorkbook.Unprotectメソッドを使用してブックの保護を解除します。解除が成功した場合、メッセージボックスが表示され、ユーザーに解除されたことが通知されます。
プログラミング例
具体的なプログラミング例を示します。
ブックの保護
ボタンがクリックされた時にブックを保護するコードが実行されます。
ThisWorkbook.Protect Password:="password", Structure:=True, Windows:=True
MsgBox "ブックが保護されました。"
End Sub
この例では、ThisWorkbook.Protectの後にPassword、Structure、Windowsのパラメータを指定しています。Passwordには任意のパスワードを指定することができますが、省略することも可能です。StructureとWindowsはTrueまたはFalseの値を設定することで、保護する範囲を選択します。
ブックの保護解除
ボタンがクリックされた時にブックの保護を解除するコードが実行されます。
Dim password As String
password = InputBox("パスワードを入力してください:")
If password <> "" Then
ThisWorkbook.Unprotect password
MsgBox "ブックの保護が解除されました。"
End If
End Sub
この例では、UnprotectButton_Clickサブルーチンがボタンのクリックイベントと関連付けられています。ユーザーはダイアログボックスにパスワードを入力し、パスワードが空ではない場合にブックの保護が解除されます。
まとめ
Protectメソッドを使用してブックを保護し、Unprotectメソッドを使用してブックの保護を解除することができます。ブックの保護と解除をマスターすることで、データの安全性を高め、効果的なデータ管理を行うことができます。是非、この記事を参考にして、ExcelVBAのブックの保護と解除に取り組んでみてください。