Я пытаюсь запустить скрипт, который автоматически заполняет дату в столбце F при каждом вводе или изменении данных в столбце E в электронной таблице с несколькими листами.
В настоящее время у меня есть скрипт, который был написан для меня на основе того, что я описал, но я получал код ошибки.Я вернулся к своему первоначальному вопросу и объяснил, что этот скрипт необходим для запуска на одном листе в электронной таблице с несколькими листами.Он дал мне некоторую дополнительную информацию, но это был его последний ответ: «Да, вам нужно заменить event.source.getActiveSheet()
на что-то вроде« getsheetbyname ». Я перепробовал все, что мне известно, чтобы работать с тем, что он мне дал, но япо-прежнему получаю код ошибки независимо от того, что я пытаюсь.
Вот область, которая дает мне ошибку.
var sheet = event.source.getsheetbyname();
Вот код ошибки, который я получаю
TypeError: Невозможно прочитать свойство "source" из undefined. (Строка 2, файл "Code")
Я знаю, что должно быть имя листа, который я хочусценарий для запуска, но я не знаю, как его кодировать, чтобы сделать это. Имя листа "Веса несовершеннолетних"
Ожидаемые результаты должны быть, когда я добавляю или изменяю данные в столбце E, это должноавтоматически заполняет текущую дату в соседнюю ячейку в соседнем столбце.
Когда я сохраняю сценарий, а затем запускаю сценарий, чтобы убедиться, что он работает, конечно, он выдает ошибку coде я описал выше.Затем, когда я возвращаюсь на этот лист после сохранения сценария вместо автоматического заполнения даты, теперь, когда я выделяю строку ячеек в строке, она заменяет все последующие ячейки на ту же информацию, что и в первой ячейке, которую я начал выделять.,Очень странно!
Сценарий + код ошибки:
Код:
function onEdit(event) {
var sheet = event.source.getActiveSheet();
// note: actRng = the cell being updated
var actRng = event.source.getActiveRange();
var index = actRng.getRowIndex();
var cindex = actRng.getColumnIndex();
if (cindex == 5) { // 1 == Column A, 2 == Column B, 3 == Column C, etc.
var dateCol = sheet.getLastColumn();
var lastCell = sheet.getRange(index,dateCol);
var date = Utilities.formatDate(new Date(), "EST", "MMM-dd-yyyy");
lastCell.setValue("'" + date);
}
}