#google-apps-script
#google-apps-script
Вопрос:
Я пытаюсь переместить курсор (выбрать ячейку), когда пользователь нажимает на лист. Я перепробовал так много вариантов, и ни один из них не работает. Курсор просто остается там, где я нажимаю, вместо того, чтобы перемещаться в указанную ячейку. Примечание: я меняю цвет фона выбранной ячейки, чтобы убедиться, что триггер выбора работает.
function onSelectionChange(e) {
var range = e.range;
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
range.setBackground("blue");
sheet.setCurrentCell("a1").activate();
}
Любая помощь с благодарностью.
Ответ №1:
setCurrentCell
Метод никогда не выполняется, потому что вы используете для него неправильный параметр.
Согласно документации здесь, setCurrentCell
ожидает объект типа ‘Range`, однако вы передаете ему строку.
Чтобы исправить это, вы должны обновить свою функцию до этого:
function onSelectionChange(e) {
var range = e.range;
var sheet = range.getSheet();
range.setBackground("blue");
var cell = sheet.getRange("A1");
sheet.setCurrentCell(cell);
}
Кроме того, поскольку вы используете onSelectionChange
триггер, для наилучших практик рекомендуется использовать объект e
event, отсюда и приведенные выше изменения.