Если / то в гугл скрипте на основе формулировок | Дополнение в строке меню - PullRequest
0 голосов
/ 12 января 2020

Я хотел бы изменить ячейку (скажем, B1) на «Правильно», если я ввел «Яблоко» в ячейке (скажем, A1). Хотя, если я напишу другие вещи, он все равно вернет «Правильно», даже если ячейка не введена в «Яблоко». Могу ли я узнать, как я могу это исправить?

А что, если я разрешу несколько ответов, например, если я введу «Apple», «Banana» или «Orange», я все еще могу получить «Correct» в ячейке B1.

function myFunction() {

  var app = SpreadsheetApp;
  var activeSheet = app.getActiveSpreadsheet().getActiveSheet();
  var workingcell = activeSheet.getRange(1,1).getValue();

  if(workingcell = "Apple"){
    activeSheet.getRange(2,2).setValue("Correct");
    } else {
      activeSheet.getRange(2,2).setValue("Wrong");
  }
}

Я также хотел бы настроить строку меню в листе Google, чтобы другие могли просто нажать кнопку, чтобы запустить код. Хотя кажется, что он не работает, как я могу это исправить?

function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "Run",
    functionName : "Run"
  }
                ];
  sheet.addMenu("Run", entries);
};

Ответы [ 2 ]

3 голосов
/ 12 января 2020

В следующей строке

if(workingcell = "Apple"){

изменить = на ===

Выше, потому что в JavaScript / Google Apps Script один знак равенства используется для присвоения значения / объект к переменной. Два и три знака равенства используются для сравнения равенства, абстрактного и строгого соответственно.

0 голосов
/ 12 января 2020

Попробуйте это:

function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [];
  entries.push({name : "MenuItem1",functionName : "function1"});
  entries.push({name : "MenuItem2",functionName : "function2"});
  sheet.addMenu("My Menu", entries);
};

function function1() {
  SpreadsheetApp.getActive().toast('function1');
}

function function2() {
    SpreadsheetApp.getActive().toast('function2');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...