Google Sheet Script no se ejecuta completamente
Estoy usando un formulario de Google para activar este script.
Cuando ejecuto el script con el botón Reproducir, funciona perfectamente.
Cuando dejo que el disparador onsubmit lo ejecute, la casilla de verificación se completa bien, pero la fecha de setValue no.
También intenté usar, setFormulapero obtengo el mismo resultado.
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()) + ")");
}
El objetivo final es que la columna J se complete con la fecha formateada de la toma de la columna A cada vez que se envíe el formulario.
Necesito este formato para ejecutar un countIfs en otra hoja.
Otra opción sería incrustar de alguna manera una etiqueta de formato en este comando CountIfs para que coincidan.
=COUNTIFS('Form Responses 1'!J:J,A2,'Form Responses 1'!D:D,B2)
Respuestas
RESPUESTA ACTUALIZADA
Si tiene problemas para ejecutar una función en el disparador mientras funciona según lo previsto sin un disparador, verifique lo siguiente:
Para archivos pesados / datos de formulario, puede haber una demora en completar la hoja con nuevos datos de formulario.
Para evitar conflictos, dé a la hoja de cálculo algo de tiempo para completar la nueva fila antes de recuperar
sheet.getLastRow()o acceder a los datos en la hoja.Puede puntear fácilmente, por ejemplo, con Utilities.sleep () .
Verifique que su gatillo se haya instalado correctamente. Para esto compruebe que
- el tipo de disparador es correcto
- el disparador está vinculado a la función correcta
- evite conflictos creando un nuevo disparador al cambiar el nombre de la función.
Compruebe que el problema no se deba a restricciones de activación
Esta es una fuente de error común cuando se utilizan activadores simples.
Verifique que la cuenta bajo cuya autorización se está ejecutando el disparador tenga permisos para editar la hoja / rango. Esto es importante para verificar cuando el propietario del disparador es una persona diferente a la persona que ejecuta el script manualmente.
Tenga en cuenta que para
setFormula()no es necesario incorporar el=en la fórmulaTenga en cuenta que
DATEVALUE()solo devolverá el resultado esperado cuando la celda tenga el formato correcto como fecha