- Вы хотите поставить флажок в столбце «E» в активном диапазоне.
- В вашем вопросе вы проверяли
spreadsheet.getActiveRange().autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
. Исходя из этого, я думал, как выше.
a new row is added it
означает, что значения помещаются в ячейки.
Если мое понимание верно, как насчет этот ответ? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Шаблон 1:
В этом шаблоне используется активный диапазон.
Пример сценария:
При запуске этого сценария в столбце «E» строки активного диапазона устанавливается флажок.
function AddCheckBox(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Donations Received") // Modified
var activeRange = sheet.getActiveRange();
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
var range = sheet.getRange(activeRange.getRow(), 5);
range.clearContent();
range.setDataValidation(rule);
}
Шаблон 2:
В этом шаблоне последний используется строка.
Пример сценария:
При запуске этого сценария в столбце «E» последней строки активного листа устанавливается флажок.
function AddCheckBox(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Donations Received") // Modified
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
var range = sheet.getRange(sheet.getLastRow(), 5);
range.clearContent();
range.setDataValidation(rule);
}
Шаблон 3:
В этом шаблоне предполагается, что AddCheckBox(e)
установлен в качестве устанавливаемого триггера триггера события OnEdit.
Пример сценария:
Когда это сценарий запускается, флажок ставится в столбце «E» отредактированной строки.
function AddCheckBox(e) {
var range = e.range;
var sheet = range.getSheet();
if (sheet.getSheetName() == "Donations Received") { // Added
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
var range = sheet.getRange(range.getRow(), 5);
range.clearContent();
range.setDataValidation(rule);
}
}
Примечание:
- О
range.clearContent();
, если вам это не требуется, пожалуйста, удалите его.
Если я неправильно понял ваш вопрос, и это был не тот результат, который вы хотите, я прошу прощения.