Не удается найти метод setValues ​​(строка)? Попытка сделать отметку времени на основе текущего времени, если флажок был отмечен - PullRequest
0 голосов
/ 24 апреля 2019

Я все еще пытаюсь создать временный триггер, который проверяет, был ли флажок отредактирован в тот день на «true», и создает метку времени в следующем столбце, чтобы показать, когда он был отредактирован в последний раз.Вот код, который у меня есть ниже, я даже не успел его запустить.Показывает: не удается найти метод setValues ​​(строка).Строка 12.

function myFunction(event) {
  var timeZone = Session.getScriptTimeZone();
  var timestampFormat = "MM-dd-yyy hh:mm:ss";
  var now = new Date();
  var actRng = SpreadsheetApp.getActive().getRange("C2:C200");
  var editColumn = actRng.getColumn();
  var index = actRng.getRowIndex();
  var sheet = SpreadsheetApp.openById("1_LMkYec4CymMQZ6vdCswkr2UGiGPIOGLlLBMlLYEw3k");
  var checkRange = sheet.getRange("C:C");
  var checkBox = sheet.getRange("B:B");
  if (checkBox.getValue() == true) {
    checkRange.setValues(Utilities.formatDate(now, timeZone, timestampFormat));
  }
}

1 Ответ

0 голосов
/ 25 апреля 2019

Просто используйте onEdit ():

Я надеюсь, что вы понимаете, что вы не можете запустить эту функцию без объекта события. Возможно, это должен быть устанавливаемый триггер, если другие люди используют электронную таблицу.

function onEdit(e) {
  if(e.range.getSheet().getName()!='WhatEverSheetNameYouPutHere') return;
  if(e.range.columnStart==2 && e.value=="TRUE") {
    e.range.offset(0,1)=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM-dd-yyy hh:mm:ss");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...