En muchas ocasiones me habéis preguntado como implementar rangos protegidos con Google Apps Script. Pese a que no es difícil, entraña tener claro como funciona un spreadsheet. Lo más importante es que tengáis claro como funciona un rango con Google Apps Script . Teniendo eso claro, proteger celdas con Google Apps Script es pan comido.
Para proteger celdas lo que debes hacer es obtener un rango y obtener su protección mediante protect().
function ProtectCells()
{
var rango_protegido = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1, 1, 2, 2).protect();
var mi_usuario = Session.getEffectiveUser();
rango_protegido.addEditor(mi_usuario);
rango_protegido.removeEditors(rango_protegido.getEditors());
if (rango_protegido.canDomainEdit())
{
rango_protegido.setDomainEdit(false);
}
}
{
var rango_protegido = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1, 1, 2, 2).protect();
var mi_usuario = Session.getEffectiveUser();
rango_protegido.addEditor(mi_usuario);
rango_protegido.removeEditors(rango_protegido.getEditors());
if (rango_protegido.canDomainEdit())
{
rango_protegido.setDomainEdit(false);
}
}
Para desproteger las celdas de una hoja tendremos que usar la función remove en la protección:
function UnProtectCells()
{
var spreadsheet = SpreadsheetApp.getActive();
var rangos_protegidos = spreadsheet.getProtections(SpreadsheetApp.ProtectionType.RANGE);
for (var i = 0; i < rangos_protegidos.length; i++)
{
var proteccion = rangos_protegidos[i];
if (proteccion.canEdit())
{
proteccion.remove();
}
}
}
function UnProtectCells()
{
var spreadsheet = SpreadsheetApp.getActive();
var rangos_protegidos = spreadsheet.getProtections(SpreadsheetApp.ProtectionType.RANGE);
for (var i = 0; i < rangos_protegidos.length; i++)
{
var proteccion = rangos_protegidos[i];
if (proteccion.canEdit())
{
proteccion.remove();
}
}
}
Espero que os haya servido
No vaciléis en hacerme llegar vuestras dudas.
Nos vemos
No hay comentarios:
Publicar un comentario