Скрипты позволяют расширять функциональность некоторых продуктов Google, добавляя элементы пользовательского интерфейса, которые при нажатии выполняют функцию Apps Script. Наиболее распространенный пример — запуск скрипта из пользовательского пункта меню в Google Docs, Sheets, Slides или Forms, но функции скриптов также могут запускаться при нажатии на изображения и рисунки в Google Sheets.
Настраиваемые меню в Google Docs, Sheets, Slides или Forms

С помощью Apps Script можно добавлять новые меню в Google Docs, Sheets, Slides или Forms, при этом каждый пункт меню привязан к функции в скрипте. (В Google Forms пользовательские меню видны только редактору, открывающему форму для ее изменения, а не пользователю, открывающему форму для ответа.)
Скрипт может создать меню только в том случае, если он привязан к документу, электронной таблице или форме. Чтобы отобразить меню при открытии файла пользователем, напишите код меню внутри функции onOpen() .
В приведенном ниже примере показано, как добавить меню с одним пунктом, за которым следует визуальный разделитель , а затем подменю , содержащее еще один пункт. Когда пользователь выбирает любой из пунктов меню, соответствующая функция открывает диалоговое окно предупреждения . Для получения дополнительной информации о типах открываемых диалоговых окон см. руководство по диалоговым окнам и боковым панелям .
function onOpen() {
const ui = SpreadsheetApp.getUi();
// Or DocumentApp, SlidesApp or FormApp.
ui.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addSeparator()
.addSubMenu(ui.createMenu('Sub-menu')
.addItem('Second item', 'menuItem2'))
.addToUi();
}
function menuItem1() {
SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
.alert('You clicked the first menu item!');
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
.alert('You clicked the second menu item!');
}
Документ, электронная таблица, презентация или форма могут содержать только одно меню с заданным именем. Если тот же скрипт или другой скрипт добавляет меню с тем же именем, новое меню заменяет старое. Меню нельзя удалить, пока файл открыт, хотя вы можете написать функцию onOpen() которая будет пропускать меню в будущем, если задано определенное свойство .
Интерактивные изображения и рисунки в Google Таблицах

В Google Sheets также можно назначить функцию Apps Script изображению или рисунку, при условии, что скрипт привязан к электронной таблице. Пример ниже показывает, как это настроить.
- В Google Таблицах выберите пункт меню «Расширения» > «Apps Script» , чтобы создать скрипт, привязанный к электронной таблице.
Удалите весь код в редакторе скриптов и вставьте приведенный ниже код.
function showMessageBox() { SpreadsheetApp.getUi().alert('You clicked it!'); }Вернитесь в меню «Листы» и вставьте изображение или рисунок, выбрав «Вставка» > «Изображение» или «Вставка» > «Рисунок» .
После вставки изображения или рисунка щелкните по нему. В правом верхнем углу появится небольшое выпадающее меню. Щелкните по нему и выберите «Назначить скрипт» .
В появившемся диалоговом окне введите имя функции Apps Script, которую вы хотите запустить, без скобок — в данном случае,
showMessageBox. Нажмите ОК .Щелкните по изображению или рисунку еще раз. Теперь функция будет выполнена.