/ / Script di Google Apps - È possibile aggiornare un intervallo protetto da uno script? - google-apps-script, google-spreadsheet

Script di Google Apps: è possibile aggiornare un intervallo protetto da uno script? - google-apps-script, google-spreadsheet

Voglio utilizzare intervalli protetti per bloccare l'intervallo, ma utilizzando un'interfaccia utente voglio consentire agli utenti di apportare modifiche, inserire nuovi dati, ecc. Voglio solo che le modifiche siano deliberate.

Ho pensato ad alcune soluzioni ma non ne sono sicurocome avrebbero impatto sul carico, e non sono sicuro quale sarebbe la direzione migliore: Rimuovi la protezione dagli intervalli e riprova, dai permessi di modifica e portali via. Utilizzare lo script java al posto della funzionalità integrata degli intervalli protetti. Non sembra possibile, ma anche se gli script sono stati eseguiti dal mio account che funzionerebbe (le cartelle di lavoro funzionano tutte come progettate dal mio account, ma ho accesso in modifica agli intervalli protetti).

Qualsiasi aiuto sarebbe molto apprezzato, grazie in anticipo.

Sfondo degli script: Ho cartelle di lavoro per progetti specifici all'interno dell'azienda e una cartella di lavoro principale, che si sincronizzano in due modi. C'è una chiave di ricerca, semplicemente il titolo specifico di funzione / funzione, e quindi ho uno script che consente di aggiornare entrambe le posizioni contemporaneamente. Ho anche un modello per le nuove funzionalità, oppure i progetti specifici della struttura hanno ciascuno i propri modelli e ho bisogno che gli utenti siano in grado di aggiungere un nuovo foglio all'interno di queste cartelle di lavoro e questi dati per aggiornare il foglio di lavoro principale "AllTasks" utilizzato per varie domande, ma in entrambe le cartelle di lavoro ho bisogno di avere intervalli protetti.

risposte:

1 per risposta № 1

Esecuzione di script dal tuo account funzionerà solose si distribuisce lo script come app Web. Gli utenti dovrebbero andare a un URL separato, compilare il modulo, inviare, ecc. E fintanto che lo script viene eseguito sotto il tuo account (esiste un'opzione per questo quando si distribuisce come app Web), inserirà / aggiornerà gli intervalli protetti dal momento che hai accesso in modifica. Gli utenti possono ancora andare nella cartella di lavoro separatamente e aggiungere fogli (a patto che abbiano diritti di modifica), non possono semplicemente toccare gli intervalli protetti a meno che non abbiano diritti separati per quelli.

Ma se gli utenti eseguiranno direttamente questi scriptdal foglio di calcolo, non credo che sia possibile eseguire dal tuo account, ma penso che quanto sopra sarebbe la soluzione migliore: non vedo alcun script che possa proteggere / proteggere le gamme in ogni caso, solo fogli.


1 per risposta № 2

Se deve essere protetto solo da modifiche accidentali, è possibile impostare regole di convalida dei dati. Lo Script per l'interfaccia utente può quindi modificare le regole di convalida dei dati prima della modifica.

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

Questo non proteggerà dalla malizia, né lo faràproteggersi dal nascondere, nascondere, eliminare o aggiungere celle o eliminare il contenuto delle celle, ma proteggerà dalla sovrascrittura accidentale della cella.