Google Sheet Script non completamente in esecuzione
Sto utilizzando un modulo Google per attivare questo script.
Quando eseguo lo script con il pulsante Riproduci funziona perfettamente.
Quando lascio che il trigger onsubmit lo esegua, la casella di controllo si popola correttamente ma la data setValue no.
Ho anche provato a usare setFormulama ottengo lo stesso risultato.
function AddCheckBox_toSchoolLunchForm(F) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1")
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
var range = sheet.getRange(sheet.getLastRow(), 8);
range.clearContent();
range.setDataValidation(rule);
var FormulaCell = sheet.getRange(sheet.getLastRow(), 10);
FormulaCell.setFormula("=DATEVALUE(A" + (sheet.getLastRow()) + ")");
}
L'obiettivo finale è che la colonna J venga compilata con la data formattata per la ripresa dalla colonna A ogni volta che viene inviato il modulo.
Ho bisogno di questo formato per eseguire un countIfs su un altro foglio.
Un'altra opzione sarebbe quella di incorporare in qualche modo un tag di formato in questo comando CountIfs in modo che corrispondano.
=COUNTIFS('Form Responses 1'!J:J,A2,'Form Responses 1'!D:D,B2)
Risposte
RISPOSTA AGGIORNATA
In caso di problemi nell'esecuzione di una funzione sul trigger mentre funziona come previsto senza un trigger, controllare quanto segue:
Per i file pesanti / i dati del modulo possono essere un ritardo nel popolare il foglio con i nuovi dati del modulo.
Per evitare conflitti, concedi al foglio di lavoro un po 'di tempo per popolare la nuova riga prima di recuperare
sheet.getLastRow()o accedere ai dati nel foglio.Puoi dotare facilmente, ad esempio, con Utilities.sleep () .
Verifica che il trigger sia stato installato correttamente. Per questo controlla quello
- il tipo di trigger è corretto
- il trigger è associato alla funzione corretta
- evitare conflitti creando un nuovo trigger quando si rinomina la funzione.
Verificare che il problema non sia dovuto a restrizioni di attivazione
Questa è una fonte di errore comune quando si utilizzano trigger semplici.
Verifica che l'account sotto la cui autorizzazione è in esecuzione l'attivatore disponga delle autorizzazioni per modificare il foglio / intervallo. Questo è importante per verificare quando il proprietario del trigger è una persona diversa dalla persona che esegue manualmente lo script.
Si noti che
setFormula()non è necessario incorporare il file=nella formulaTieni presente che
DATEVALUE()restituirà il risultato previsto solo quando la cella è formattata correttamente come data