How to: Programmatically protect workbooks
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
You can protect a Microsoft Office Excel workbook so that users cannot add or delete worksheets, and also unprotect the workbook programmatically. You can optionally specify a password, indicate whether you want the structure protected (so users cannot move sheets around), and indicate whether you want the workbook's windows protected.
Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects for Excel. For more information, see Features available by Office application and project type.
Protecting a workbook does not stop users from editing cells. To protect the data, you must protect the worksheets. For more information, see How to: Programmatically protect worksheets.
The following code examples use a variable to contain a password that is obtained from the user.
Protect a workbook that is part of a document-level customization
To protect a workbook
Call the Protect method of the workbook and include a password. To use the following code example, run it in the
ThisWorkbook
class, not in a sheet class.this.Protect(getPasswordFromUser, missing, missing);
Me.Protect(getPasswordFromUser)
To unprotect a workbook
Call the Unprotect method, passing a password if it is required. To use the following code example, run it in the
ThisWorkbook
class, not in a sheet class.this.Unprotect(getPasswordFromUser);
Me.Unprotect(getPasswordFromUser)
Protect a workbook by using an application-level Add-in
To protect a workbook
Call the Protect method of the workbook and include a password. This code example uses the active workbook. To use this example, run the code from the
ThisAddIn
class in your project.this.Application.ActiveWorkbook.Protect(getPasswordFromUser);
Me.Application.ActiveWorkbook.Unprotect(getPasswordFromUser)
To unprotect a workbook
Call the Unprotect method of the active workbook, passing a password if it is required. To use this example, run the code from the
ThisAddIn
class in your project.this.Application.ActiveWorkbook.Unprotect(getPasswordFromUser);
Me.Application.ActiveWorkbook.Protect(getPasswordFromUser)