Скрипты могут расширять возможности некоторых продуктов Google, добавляя элементы пользовательского интерфейса, которые при нажатии на них выполняют функцию скрипта Apps. Наиболее распространённым примером является запуск скрипта из пользовательского пункта меню в Google Документах, Таблицах, Презентациях или Формах, но функции скрипта также можно запускать, нажимая на изображения и рисунки в Google Таблицах.
Пользовательские меню в Google Docs, Таблицах, Презентациях или Формах
Apps Script может добавлять новые меню в Google Docs, Sheets, Slides или Forms, при этом каждый пункт меню привязан к функции в скрипте. (В Google Forms пользовательские меню видны только редактору, который открывает форму для изменения, а не пользователю, который открывает форму для ответа.)
Скрипт может создать меню, только если он привязан к документу, электронной таблице или форме. Чтобы отображать меню при открытии файла пользователем, добавьте код меню в функцию onOpen()
.
В примере ниже показано, как добавить меню с одним пунктом, за которым следует визуальный разделитель , а затем подменю , содержащее другой пункт. (Обратите внимание, что в Google Таблицах, если вы не используете новую версию , вместо этого необходимо использовать синтаксис addMenu()
, и подменю не поддерживаются.) Когда пользователь выбирает любой из пунктов меню, соответствующая функция открывает диалоговое окно с предупреждением . Подробнее о типах диалоговых окон, которые можно открыть, см. в руководстве по диалоговым окнам и боковым панелям .
function onOpen() {
var 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 Таблицах
Вы также можете назначить функцию Apps Script изображению или рисунку в Google Таблицах, если скрипт привязан к таблице. Пример ниже показывает, как это настроить.
- В Google Таблицах выберите пункт меню Расширения > Скрипт приложения , чтобы создать скрипт, привязанный к электронной таблице.
Удалите весь код в редакторе скриптов и вставьте код ниже.
function showMessageBox() { Browser.msgBox('You clicked it!'); }
Вернитесь в Таблицы и вставьте изображение или рисунок, выбрав Вставка > Изображение или Вставка > Рисунок .
После вставки изображения или рисунка нажмите на него. В правом верхнем углу появится небольшое раскрывающееся меню. Нажмите на него и выберите «Назначить сценарий» .
В открывшемся диалоговом окне введите имя функции Apps Script, которую вы хотите запустить, без скобок — в данном случае
showMessageBox
. Нажмите кнопку OK .Щелкните изображение или рисунок ещё раз. Функция будет выполнена.