Export (0) Print
Expand All

How to: Programmatically Protect Workbooks

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 application-level projects for Excel 2013 and Excel 2010. 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.

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);
    

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);
    

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);
    

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);
    
Show:
© 2014 Microsoft