tutorial sheets scripts script openbyurl macro google español ejemplos docs developer apps app google-apps-script google-spreadsheet

sheets - Google Apps Script: ¿es posible actualizar un rango protegido desde un script?



google spreadsheet macro (2)

Ejecutar scripts desde su cuenta solo funcionará si implementa el script como una aplicación web. Los usuarios deberían ir a una URL separada, completar el formulario, enviar, etc., y siempre que la secuencia de comandos se ejecute en su cuenta (hay una opción para esto cuando se implementa como una aplicación web), insertará / actualizará rangos protegidos ya que tienes acceso de edición. Los usuarios aún pueden acceder al libro de trabajo por separado y agregarle hojas (siempre que tengan derechos de edición), simplemente no pueden tocar los rangos protegidos a menos que tengan derechos separados para ellos.

Pero si los usuarios ejecutarán estos scripts directamente desde la hoja de cálculo, no creo que sea posible ejecutarlos desde su cuenta. Pero creo que lo anterior sería la mejor solución. No veo ningún guión que pueda desproteger / proteger los rangos aún de todos modos, solo hojas.

Quiero usar rangos protegidos para bloquear el rango, pero al usar una IU quiero permitir a los usuarios realizar ediciones, insertar datos nuevos, etc. Solo quiero que las ediciones sean deliberadas.

He pensado en algunas soluciones, pero no estoy seguro de cómo afectarían la carga, y no estoy seguro de cuál sería la mejor dirección: desproteger los rangos y volver a proteger, otorgar permisos de edición y quitárselos. Use el script java en lugar de la funcionalidad integrada de rangos protegidos. No parece posible, pero incluso si los scripts se ejecutaran desde mi cuenta, funcionarían (los libros de trabajo funcionan según lo diseñado desde mi cuenta, pero tengo acceso de edición a los rangos protegidos).

Cualquier ayuda sería muy apreciada, gracias de antemano.

Antecedentes de las secuencias de comandos: tengo libros de trabajo para proyectos específicos dentro de la empresa y un libro de trabajo maestro, que se sincroniza de dos maneras. Hay una clave de búsqueda, simplemente el título específico de la función / función, por lo que tengo una secuencia de comandos que permitiría que ambas ubicaciones se actualicen simultáneamente. También tengo una plantilla para nuevas características, o los proyectos específicos de cada instalación tienen sus propias plantillas, y necesito que los usuarios puedan agregar una nueva hoja dentro de estos libros de trabajo, y estos datos para actualizar la hoja de trabajo "AllTasks" del libro maestro utilizado para varias consultas, pero en ambos libros de trabajo necesito tener rangos protegidos.


Si solo necesita protección contra edición accidental, puede establecer reglas de validación de datos. La secuencia de comandos para la interfaz de usuario puede ajustar esas reglas de validación de datos antes de la edición.

var allowedText = "Yes" var cell = SpreadsheetApp.getActive().getRange(''A1''); var rule = SpreadsheetApp.newDataValidation().requireTextEqualTo(allowedText).build(); cell.setDataValidation(rule); cell.setValue(allowedText);

Esto no protegerá contra la malicia, ni protegerá contra el ocultamiento, el ocultamiento, la eliminación o la adición de celdas o la eliminación del contenido de las celdas, pero protegerá contra la sobreescritura accidental de la celda.