Сегодня поговорим о том, как быстро и просто сделать своё меню в таблицах:
Зачем это надо
Прежде всего, чтобы «завесить» какую-либо часто используемую функцию, но не через формулу.
Зачем? Очень просто. Формула позволяет делать какой-то набор арифметических или логических действий (что, конечно, тоже является результатом выполнения функции), в то время как возможности функции, как набора для автоматизации куда более глубокие: например можно сохранить активный лист в pdf и сразу его отправить на нужный электронный адрес.
Код
function onOpen() {
;
SpreadsheetApp.getUi()
.createMenu('Кастом меню')
.addItem('Функция 1', 'myFunction1')
.addSeparator()
.addSubMenu(SpreadsheetApp.getUi().createMenu('Кастом подменю')
.addItem('-Функция 2', 'myFunction2')
.addItem('-Функция 3', 'myFunction3')
.addSeparator()
.addItem('Функция 4', 'myFunction4')
.addToUi();
}
Что в коде
function onOpen()
— входит в набор простых триггеров и срабатывает, когда пользователь открывает гугл таблицу, документ, презентацию или форму.
SpreadsheetApp.getUi()
— экземпляр среды пользовательского интерфейса , который позволяет добавлять такие функции, как меню, диалоговые окна и боковые панели.
.createMenu('Кастом меню')
— создаем основное меню.
.addItem('Функция 1', 'myFunction1')
— добавление в основное меню пользовательской функции «Функция 1». myFunction1 здесь — имя функции ниже для выполнения, например:
function myFunction1(){
console.log('Hello World!');
}
.addSeparator()
— добавляем «красоту» в виде разделительной черты.
.addSubMenu(SpreadsheetApp.getUi().createMenu('Кастом подменю')
— создаём подменю.
.addToUi();
— обязательно не забыть в конце. Добавляет всё, что было сделано выше в user interface.
Результат