方法: プログラムによってブックを保護する
ユーザーがワークシートを追加または削除できないように Microsoft Office Excel ブックを保護できます。また、プログラムでブックの保護を解除できます。オプションとして、パスワードを指定できます。また、構造を保護する (ユーザーがシートを移動できないようにする) かどうか、およびブックのウィンドウを保護するかどうかも指定できます。
対象: このトピックの情報は、Excel 2013 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
ブックを保護しても、ユーザーはセルを編集できます。データを保護するには、ワークシートを保護する必要があります。詳細については、「方法: プログラムによってワークシートを保護する」を参照してください。
次のコード例では、ユーザーから受け取ったパスワードを格納する変数を使用しています。
ドキュメント レベルのカスタマイズの一部であるブックの保護
ブックを保護するには
ブックの Protect メソッドを呼び出し、パスワードを指定します。次のコード例を使用するには、シート クラスではなく、ThisWorkbook クラスで実行します。
Me.Protect(getPasswordFromUser)
this.Protect(getPasswordFromUser, missing, missing);
ブックの保護を解除するには
Unprotect メソッドを呼び出して、必要に応じてパスワードを渡します。次のコード例を使用するには、シート クラスではなく、ThisWorkbook クラスで実行します。
Me.Unprotect(getPasswordFromUser)
this.Unprotect(getPasswordFromUser);
アプリケーション レベルのアドインを使用したブックの保護
ブックを保護するには
ブックの Protect メソッドを呼び出し、パスワードを指定します。このコード例ではアクティブなブックを使用します。この例を使用するには、プロジェクトの ThisAddIn クラスからコードを実行します。
Me.Application.ActiveWorkbook.Unprotect(getPasswordFromUser)
this.Application.ActiveWorkbook.Protect(getPasswordFromUser);
ブックの保護を解除するには
アクティブなブックの Unprotect メソッドを呼び出して、必要に応じてパスワードを渡します。この例を使用するには、プロジェクトの ThisAddIn クラスからコードを実行します。
Me.Application.ActiveWorkbook.Protect(getPasswordFromUser)
this.Application.ActiveWorkbook.Unprotect(getPasswordFromUser);