Si te encuentras con una hoja de cálculo protegida y necesitas actualizarla o simplemente mirar alguna fórmula para ver cómo se hizo, solo te queda saber la clave para poder desprotegerla.
Pero eso se acabó. Si utilizas el código de la macro que te presento a continuación podrás desproteger cualquier hoja de cálculo con clave que esté programada en OpenOffice o LibreOffice.
Sub DesprotegerHoja( )
dim oDoc as object
oDoc = StarDesktop.CurrentComponent
if oDoc.supportsService("com.sun.star.sheet.SpreadsheetDocument") then
with ThisComponent.getCurrentController.getActiveSheet()
.Protect( "")
.unProtect( "")
if not .isProtected() then
msgbox "La hoja ha sido desprotegida", 64, "Trucos de www.rafaelsantos.es"
else
msgbox "Lo sentimos, pero no se pudo desproteger la hoja. Seguramente ya no exista esta vulnerabilidad.", 48, "Trucos de www.rafaelsantos.es"
end if
end with
end if
end sub
Vale, y? Si no sabes cómo usar el código de la macro, te lo explico.
Selecciona el código con el ratón, pulsa el botón derecho y dale a copiar.
Ahora vete a LibreOffice Calc con la hoja que quieres desproteger y abre el menú Herramientas.
Selecciona Macros / Editar Macros... y en la ventana que se te abre con el editor:
Copia el código dentro de Module1 tal y como ves en la captura de pantalla.
Le das a Archivo / Guardar todo y cierras.
Para ejecutar la macro te vas de nuevo al menú Herramientas / Macros / Ejecutar macro...
Buscas la macro Desprotegerhoja y pulsas el botón Ejecutar