Código VBA para proteger y desproteger libros de trabajo

Índice
  1. La diferencia entre la interfaz de un solo documento y varios documentos
  2. Protección y desprotección básica
  3. Comprobar si un libro está protegido
  4. Proteger y desproteger con contraseña
  5. Proteger la estructura o las ventanas
  6. Otros fragmentos de código VBA relacionados

En un fragmento de código VBA anterior, cubrimos la protección y desprotección de hojas de trabajo . En esta publicación, consideraremos proteger y desproteger libros de trabajo. Los dos temas están estrechamente relacionados, por lo que si esta publicación no proporciona la información que necesita, léala también .

Antes de comenzar, hay que considerar un cambio importante en Excel 2013.

La diferencia entre la interfaz de un solo documento y varios documentos

En Excel 2010 y versiones anteriores, Excel tenía una interfaz de documentos múltiples (MDI), lo que significa que se abrieron varios libros dentro de la misma ventana de Excel. Excel 2013 introdujo la interfaz de documento único (SDI), donde cada documento tiene su propia ventana con su propia cinta.

Al proteger libros, la opción de Windows está deshabilitada en Excel 2013 y versiones posteriores.

Proteger libro de trabajo: Windows deshabilitado

El propósito de la configuración de Windows era corregir el tamaño de la hoja de cálculo dentro de la instancia de Excel. Sin embargo, ahora que cada hoja de cálculo se comporta como si fuera una instancia separada, arreglar el tamaño de la ventana ya no sirve para nada.

El siguiente código funcionará tanto para MDI como para SDI; sin embargo, proteger la ventana del Libro de trabajo no tendrá utilidad en Excel 2013 y versiones posteriores.

Protección y desprotección básica

'Proteger un libro de trabajoThisWorkbook.Protect 'Desproteger un libro de trabajoThisWorkbook.Unprotect

Comprobar si un libro está protegido

'Mostrar cuadro de mensaje si la estructura está protegidaIf ThisWorkbook.ProtectStructure = True Then MsgBox "Estructura protegida"'Mostrar cuadro de mensaje si la ventana está protegidaIf ThisWorkbook.ProtectWindows = True Then MsgBox "Windows Protected"'Mostrar cuadro de mensaje si tanto la estructura como la ventana están protegidosSi ThisWorkbook.ProtectStructure = True O ThisWorkbook.ProtectWindows = True Entonces MsgBox "Windows y estructura protegidas"Finalizar si

Proteger y desproteger con contraseña

'Proteger con una contraseñaThisWorkbook.Protect Password:="myPassword"'Desproteger con una contraseñaThisWorkbook.Unprotect Password:="myPassword"

Si se proporciona una contraseña incorrecta, se mostrará el siguiente mensaje de error.

Proteger libro de trabajo: contraseña incorrecta

El siguiente código detectará el error y proporcionará un mensaje personalizado.

'Detecta el error causado por una contraseña incorrecta. En Error Reanudar NextThisWorkbook.Unprotect Contraseña:="contraseñaincorrecta"Si Err.Number 0 Entonces MsgBox "La Contraseña proporcionada es incorrecta" Salir SubEnd IfOn Error Ir a 0

Proteger la estructura o las ventanas

Proteger la estructura evita que los usuarios creen, muevan, eliminen, oculten y muestren hojas de trabajo. La protección de ventanas se describe arriba.

'Protección de la estructura o WindowsThisWorkbook.Protect Contraseña:="myPassword", Estructura:=True, Windows:=True

Otros fragmentos de código VBA relacionados

Los siguientes fragmentos de código VBA serán útiles para aplicar esta publicación en un contexto más amplio.

  • Proteger y desproteger hojas de trabajo
  • Recorra cada hoja de trabajo o cada libro de trabajo
  • Propiedades y acciones del libro de trabajo
  • Proteger con contraseña un archivo de Excel

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar la experiencia del usuario y garantizar un funcionamiento eficiente. Al utilizar nuestro sitio web, aceptas todas las cookies de acuerdo con nuestra política de cookies. Leer mas...