Возможно ли получить координаты диапазона объекта события?

#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 }