Переменные не определены в скрипте Google - PullRequest
0 голосов
/ 30 января 2020

Я делаю скрипт Google для игры в угадайку, в то время как переменные A2 и B2 не определены. Как я могу решить эту проблему?

Код, который у меня был:

function function1() {

  var app = SpreadsheetApp;
  var activeSheet = app.getActiveSpreadsheet().getActiveSheet();
  var A1 = activeSheet.getRange(1,2).getValue();
  var B1 = activeSheet.getRange(1,3).getValue();
  var A2 = activeSheet.getRange(2,2).getValue();
  var B2 = activeSheet.getRange(2,3).getValue();

  if(A1 === "apple"){
    activeSheet.getRange(1,3).setValue("correct");
    } else {
      activeSheet.getRange(1,3).setValue("Wrong");
  }
  if(B1 === "correct"){
    activeSheet.getRange(2,1).setValue("what is the colour of an orange?");
    } 
  }
  if(A2 === "orange"){
    activeSheet.getRange(2,3).setValue("Correct");
    } else {
      activeSheet.getRance(2,3).setValue("Wrong");
  }
  if(B2 === "Correct"){
    activeSheet.getRange(2,1).setValue("(Another question");
    } 


1 Ответ

1 голос
/ 30 января 2020

Используйте 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("");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...