У вас нет разрешения на использование setFormula Google appScript

Я пытаюсь сделать сценарий, в котором у меня есть адрес ячейки.

В excel у меня есть такой код:

Function pos(cell As Range)
    pos = cell.Address
End Function

И он дает мне адрес камеры.

В скрипте приложения Google я пробовал этот код:

function addrss(cel){
    var spreadsheet = SpreadsheetApp.getActive();
    var cc = spreadsheet.getCurrentCell().activate();
    c = cc.setFormula('=ADDRESS(COLUMN('+cel+');ROW('+cel+'))');
    return c;
}

function pos(cell){
    var ad = addrss(cell);
    return ad;
}

Но появляется сообщение об ошибке: «У вас нет разрешения на вызов setFormula».

Есть ли способ получить это разрешение или способ обойти его?


person Alexandre    schedule 02.07.2019    source источник
comment
Хотя я не уверен, правильно ли я понимаю ваш вопрос, если вы хотите использовать pos() в качестве настраиваемой функции, к сожалению, другая функция не может быть использована с помощью настраиваемой функции. Итак, как насчет использования триггера события OnEdit? Например, когда =SAMPLE() помещается в ячейку, =SAMPLE() заменяется на нужную функцию триггером события OnEdit. Эта ветка также может быть полезной. Если это было не то направление, которое вам нужно, прошу прощения.   -  person Tanaike    schedule 03.07.2019
comment
Мне нужен адрес ячейки, напечатанный в самой ячейке, например, когда я набираю = pos (A1), в ячейке должен быть $ A $ 1. Если вы понимаете, о чем я. О OnEdit я пытаюсь прочитать, я не уверен, хорошо ли я понял.   -  person Alexandre    schedule 03.07.2019


Ответы (1)


Пользовательские функции нельзя использовать для установки формул ячеек, их можно использовать только для возврата значения / массива значений. Ref. Пользовательские функции в Google Таблицах

Чтобы автоматически установить формулу ячейки вместо использования настраиваемой функции, вы можете использовать функцию, вызываемую из:

  • индивидуальное меню
  • кнопка
  • диалоговое окно или боковая панель
  • простой или устанавливаемый триггер

Ресурсы

Связанный

person Rubén    schedule 03.07.2019
comment
@CristianErikAmesMasek Справочник объясняет, как настраиваемые функции работают в Google Таблицах :) - person Rubén; 14.05.2020
comment
Хм, согласен с @CristianErikAmesMasek, однако, прочитав справочную страницу, это, кажется, ключевой момент, который Рубен мог бы добавить: пользовательская функция не может влиять на ячейки, кроме тех, которым она возвращает значение. Другими словами, пользовательская функция не может редактировать произвольные ячейки, а только ячейки, из которых она вызывается, и соседние с ними ячейки. Для редактирования произвольных ячеек используйте пользовательское меню для запуска функции. - person johnmartirano; 07.02.2021