valores sheets hoja google funcion formato duplicar dato cómo condicional comandos calculo buscar google-spreadsheet protection

google spreadsheet - sheets - ¿Cómo buscar y eliminar el rango protegido con nombre en Hojas de cálculo de Google?



hoja de calculo google formulas (1)

Estoy escribiendo un script en Hojas de cálculo de Google que bloquea selectivamente un gran bloque de celdas, y cada día deberá incluir una fila más de celdas en ese mismo rango protegido.

La secuencia de comandos está funcionando hasta el momento, en términos de localizar las filas que necesitan protección y crear un nuevo rango protegido cada vez que se ejecuta; sin embargo, cada vez que se ejecuta (lo que quiero es abrir) crea otro rango protegido, y otro y otro He nombrado el rango protegido "Historial" pero no puedo encontrar la manera de, en la próxima ejecución, desproteger ese rango y luego proteger un nuevo rango.

Hay otras celdas protegidas en la hoja, por lo que no puedo simplemente eliminar todas las protecciones y luego proceder. Necesito poder eliminar solo esta, específicamente, e ir desde allí. Dado que el rango de celdas que se van a bloquear va a seguir cambiando, necesito poder hacer que el guión busque este rango específico.

¡Cualquier idea es apreciada!


Para actualizar una protección existente, primero debe "obtenerla". No puedo encontrar una manera fácil de hacerlo directamente, pero puede obtener todas las protecciones en la hoja (o en toda la hoja de cálculo) y recorrerlas para encontrar la que desea.

var protections = ws.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (var p in protections) { if (protections[p].getDescription() == ''History'') { var protection = protections[p]; break; } }

Ahora puede usar el método protection.setRange para actualizar su rango sin crear una nueva protección:

var rangeNew = ws.getRange(''A1:C3''); protection.setRange(rangeNew);

Aquí está la documentación para los métodos getProtectionsType y protection setRange . Tenga en cuenta que podría ser incluso mejor hacer todo esto con rangos con nombre, que puede obtener y actualizar de la misma manera que las protecciones.