Protección mediante programación de hojas de cálculo

La característica de protección de Microsoft Office Excel ayuda a evitar que los usuarios y el código modifiquen los objetos de una hoja de cálculo. De forma predeterminada, todas las celdas se bloquean después de activar la protección.

Se aplica a: La información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO para Excel. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

En las personalizaciones de nivel de documento, puede proteger hojas de cálculo usando el diseñador de Excel. También puede proteger una hoja de cálculo mediante programación en tiempo de ejecución en cualquier tipo de proyecto.

Nota:

No puede agregar controles de Windows Forms a las áreas de una hoja de cálculo que están protegidas.

Uso del diseñador

Para proteger una hoja de cálculo en el diseñador

  1. En el grupo Cambios de la pestaña Revisar , haga clic en Proteger hoja.

    Aparece el cuadro de diálogo Proteger hoja . Puede establecer una contraseña y, si lo desea, especificar algunas acciones que los usuarios pueden realizar en la hoja de cálculo, como, por ejemplo, dar formato a las celdas o insertar filas.

    También puede permitir a los usuarios editar determinados rangos en hojas de cálculo protegidas.

Para permitir la modificación de rangos específicos

  1. En el grupo Cambios de la pestaña Revisar , haga clic en Permitir a los usuarios editar intervalos.

    Aparece el cuadro de diálogo Permitir a los usuarios editar intervalos . Puede especificar rangos que se desbloqueen mediante una contraseña y usuarios que pueden editar rangos sin contraseña.

Uso de código en tiempo de ejecución

El siguiente código establece la contraseña (mediante la variable getPasswordFromUser, que contiene una contraseña obtenida del usuario) y solo permite la ordenación.

Para proteger una hoja de cálculo mediante código en una personalización de nivel de documento

  1. Llame al método Protect de la hoja de cálculo. En este ejemplo se da por supuesto que está trabajando con una hoja de cálculo denominada Sheet1.

    Globals.Sheet1.Protect(getPasswordFromUser, true);
    

Para proteger una hoja de cálculo mediante código en un complemento de VSTO

  1. Llame al método Protect de la hoja de cálculo activa.

    ((Excel.Worksheet)Application.ActiveSheet).Protect(getPasswordFromUser, true);