Используйте onEdit
триггер
для простого триггера onEdit , вам просто нужно изменить имя вашей функции на onEdit()
. Функция будет запускаться автоматически при редактировании листа.
Кроме того, ваш код содержит некоторые другие проблемы:
if(A2 === "orange"){...
не входит в функцию - Чувствительность к регистру не соблюдается («правильный» не совпадает с «правильный»)
- Обозначение диапазона противоречиво (например,
getRange(1,3).setValue("correct");
, а затем if(B1 === "correct")
- диапазон обозначение для B1
будет (1,2)
Посмотрите на образец ниже, я надеюсь, что это решит вашу проблему:
function onEdit() {
var app = SpreadsheetApp;
var activeSheet = app.getActiveSpreadsheet().getActiveSheet();
var A1 = activeSheet.getRange(1,1).getValue();
var B1 = activeSheet.getRange(1,2).getValue();
var A2 = activeSheet.getRange(2,1).getValue();
var B2 = activeSheet.getRange(2,2).getValue();
if(A1 == "apple"){
activeSheet.getRange(1,2).setValue("Correct");
activeSheet.getRange(1,3).setValue("what is the colour of an orange?");
} else {
activeSheet.getRange(1,2).setValue("Wrong");
activeSheet.getRange(1,3).setValue("");
}
if(A2 == "orange"){
activeSheet.getRange(2,2).setValue("Correct");
activeSheet.getRange(2,3).setValue("Another question");
} else {
activeSheet.getRange(2,2).setValue("Wrong");
activeSheet.getRange(2,3).setValue("");
}
}