#google-apps-script #google-sheets
#google-apps-script #google-sheets
Вопрос:
Я разрабатываю дополнение к электронной таблице Google с помощью GAS. Я хочу добавить функцию, для которой вы устанавливаете обозначение A1, и добавить фильтр onEdit события в соответствии с ним.
Например, когда вы устанавливаете A2 в качестве дополнения, событие onEdit срабатывает только при редактировании A1.
Я хочу преобразовать обозначение A1 в объект диапазона. Например, я хочу преобразовать A2 в {columnEnd: 1, columnStart: 1, rowEnd: 2, rowStart: 2 } .
Я думаю, что можно использовать метод getRange(), но он работает плохо.
Знаете ли вы какие-нибудь хорошие методы для этого?
Ответ №1:
Обновление на основе комментария Op:
Когда срабатывает событие onEdit, я могу получить информацию о диапазоне объекта события. Он содержит 4 информации (columnEnd, columnStart, rowEnd, rowStart).
function onEdit(e) {
const actR = e.range;
const actR_cords = {
columnEnd: actR.getWidth() actR.getColumn()-1,
columnStart: actR.getColumn(),
rowEnd: actR.getHeight() actR.getRow()-1,
rowStart: actR.getRow()
}
}
Ссылки:
Комментарии:
1. Спасибо за ваш комментарий. Когда срабатывает событие onEdit, я могу получить информацию о диапазоне объекта события. Он содержит 4 информации (columnEnd, columnStart, rowEnd, rowStart). Итак, я думаю, что я могу получить 4 информации из обозначения A1. Сложно ли это??
2. зачем вам нужна информация 4? вы можете определить ячейку только с двумя координатами: строка, столбец. Затем вы можете сделать
getRange(2,1)
3. Существует также шаблон, который я хочу преобразовать в обозначение A1 о диапазоне. Например, A1: A10 и т.д…
4. хорошо.. итак, вы хотите найти координаты
A1:A10
?5. @Jamm Я обновил свой ответ. Теперь он дает координаты, которые вы определили в вопросе:
{ columnEnd: 1, columnStart: 1, rowEnd: 2, rowStart: 2 }