Скрипт приложения Google для ввода указанного c слова / числа в указанный диапазон столбцов c, при котором пользователю будет выдано предупреждение - PullRequest
0 голосов
/ 23 апреля 2020

Какой правильный сценарий или как исправить этот сценарий, так и должно быть. Предупреждение должно появляться только тогда, когда число , указанное c, введено в указанный диапазон столбцов c в указанном c листе (вкладка) . Но это не следует, вместо этого в любую ячейку вводится что-либо, появляется сообщение с предупреждением. Большое спасибо заранее.

function onEdit(e){
  var sheet = SpreadsheetApp.getActiveSheet();
  var cellValue = sheet.getRange("E25:E26");
  if (cellValue == "70");
  var ui = SpreadsheetApp.getUi(); 
  var message = ui.alert(
      'check manual',  
  ui.ButtonSet.OK);
}

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

Необходимое чтение:

Проблемы:

  • if Синтаксис if(condition){statements} , Когда вы заканчиваете if(condition) с ;, следующие statements выполняются независимо от условия.

  • getRange() возвращает объект range, а не значение. Объекты нельзя сравнивать с примитивными типами, такими как строки.

Решение:

  • Допустимый синтаксис.
  • Получить значение из объекта диапазона для сравнения со строками

Фрагмент:

var cellValue = sheet.getRange("E25:E26").getValues().flat();
  if (cellValue.includes(70)){ var ui =....}
0 голосов
/ 30 апреля 2020

Похоже, вы не использовали 'getValue ();' на самом деле читать значение вашего диапазона. Кроме того: если вы хотите, чтобы он работал только на одном указанном c листе, используйте 'getSheetByName'.

И, конечно, вы должны заменить 'the_name_of_your_tab' фактическим именем вашего листа.

function onEdit(e){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('the_name_of_your_tab')
  var cellValue = sheet.getRange('E25:E26').getValue();
  if (cellValue == '70')
  {
  var ui = SpreadsheetApp.getUi(); 
  var message = ui.alert(
      'check manual',  
  ui.ButtonSet.OK);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...