Макросы, кнопки и сочетания клавиш
Чтобы коллеги запускали скрипт, не открывая редактор кода, вынесите его функции в меню «Макросы», назначьте на кнопку на листе или на сочетание клавиш.
Меню «Макросы»
Меню открывается значком ▶ на панели инструментов таблицы. В нём перечислены пункты всех скриптов таблицы.
Добавить пункт:
- В редакторе скрипта откройте вкладку «Макросы».
- Нажмите «Добавить пункт».
- Заполните:
- Название в меню, например «Собрать отчёт за месяц»;
- Функция, которую запустит пункт;
- Кто видит: «Все редакторы» или «Только владелец скрипта»;
- Сочетание клавиш, если нужно.
- Порядок пунктов меняется перетаскиванием.
У одного скрипта может быть до 30 пунктов. Порядок пунктов и сочетания клавиш общие для всей таблицы: их видно в окне «Макросы таблицы» (меню «Макросы» → «Настроить макросы»).


Сочетания клавиш
К пункту можно привязать сочетание ⌘⌥⇧ + цифра на Mac или Ctrl+Alt+Shift + цифра на Windows, цифра от 0 до 9. Одно сочетание в таблице может занимать только один пункт.
Кнопка на листе
Любую картинку на листе можно превратить в кнопку:
- Вставьте картинку на лист.
- Нажмите на неё правой кнопкой мыши и выберите «Назначить скрипт…».
- Выберите скрипт и функцию.


Нажимать на кнопку могут редакторы таблицы. Изменить или убрать назначенный скрипт можно в том же меню картинки: «Изменить скрипт…», «Убрать скрипт».
Выделенные ячейки
Скрипт, запущенный из меню, кнопкой или сочетанием клавиш, знает, что выделено у пользователя:
function highlightSelection() {
const range = Coverse.table.getActiveRange();
if (!range) throw new Error("Выделите ячейки и запустите скрипт из таблицы");
range.setBackground("#ffeb9c");
}
Coverse.table.getActiveRange()— выделенный диапазон;Coverse.table.getActiveSheet()— открытый лист;Coverse.table.getActiveCell()— ячейка с курсором.
Выделить диапазон за пользователя скрипт не может.
Кто может запускать
Пункты меню, кнопки и сочетания клавиш работают у участников с правом редактирования таблицы. Читатели их не видят. Пункт с настройкой «Только владелец скрипта» в меню других участников не показывается.
Скрипт при этом выполняется с правами владельца скрипта, а не того, кто нажал кнопку. Подробнее в статье Права и безопасность.