Google Таблицы — это облачное решение для работы с электронными таблицами с возможностью совместной работы в режиме реального времени и мощными инструментами для визуализации, обработки и передачи данных.
Вы можете расширить Таблицы с помощью надстроек, которые позволяют оптимизировать индивидуальные рабочие процессы, устанавливать подключение к сторонним системам и интегрировать данные Таблиц с другими приложениями Google Workspace (например, Google Slides).
Надстройки Таблиц, созданные другими пользователями, можно увидеть в Google Workspace Marketplace .
Что вы можете сделать
Вот несколько вещей, которые вы можете сделать с помощью надстройки, расширяющей возможности Google Таблиц:
- Вы можете читать, редактировать, визуализировать и форматировать данные в электронных таблицах Google Sheets с помощью встроенного сервиса Apps Script Spreadsheet . Сервис также позволяет создавать и изменять правила условного форматирования и проверки данных.
- Для прямого доступа к API Google Таблиц можно использовать расширенную службу таблиц Apps Script.
- Вы можете создавать пользовательские меню и определять несколько пользовательских диалоговых окон и интерфейсов боковых панелей, используя стандартные HTML и CSS.
- Вы можете включить в свое дополнение пользовательские определения функций .
- Вы можете использовать дополнительные триггеры , которые запускают заданные функции при возникновении определенных событий-триггеров.
Дополнения к Google Таблицам создаются с помощью Apps Script. Подробнее о доступе к Google Таблицам и управлении ими с помощью Apps Script см. в статье «Расширение Google Таблиц» .
Структура листа
Электронная таблица Google Таблиц состоит из одного или нескольких листов. Каждый лист представляет собой двумерную сетку ячеек, в которой можно хранить текст, числа, ссылки или другие значения. Группа из одной или нескольких смежных ячеек называется диапазоном .
Служба Apps Script Spreadsheet предоставляет несколько классов для представления организационных структур в Таблицах (например, Sheet
и Range
). Эти классы можно использовать для чтения и изменения данных и поведения Таблиц.
Триггеры
Триггеры скриптов приложений позволяют проекту скрипта выполнять указанную функцию при соблюдении определенных условий, например при открытии электронной таблицы или при установке надстройки.
Дополнительную информацию о том, какие триггеры можно использовать с надстройками Таблиц и какие ограничения применяются к их использованию, см. в разделе триггеры надстроек.
Пользовательские функции
В Google Таблицах есть ряд встроенных функций, таких как SUM
и AVERAGE
, которые можно вызывать из ячейки Google Таблиц. Надстройки для Таблиц могут определять дополнительные пользовательские функции , дополняющие эти встроенные функции. После установки надстройки все заданные в ней пользовательские функции становятся доступны немедленно. Дополнение может состоять только из определений пользовательских функций. Доступ к определениям пользовательских функций осуществляется, главным образом, путём публикации надстройки, содержащей эти определения.
Создание дополнительных пользовательских функций
Любая функция, определённая в проекте скрипта дополнения, может быть использована как пользовательская функция. После реализации функции и установки дополнения вы можете вызывать пользовательскую функцию так же, как и любую другую встроенную функцию Таблиц: в ячейке Таблицы введите знак =
, затем имя функции и необходимые параметры. При отсутствии ошибок возвращаемый функцией результат помещается в ячейку Таблицы, при необходимости заполняя соседние ячейки.
При создании пользовательских функций в дополнении следует следовать общим рекомендациям по созданию пользовательских функций:
- Правила именования функций
- Определение аргументов функции
- Определение возвращаемого значения функции
- Типы данных пользовательских функций
- Включение автозаполнения с помощью JSDoc
- Сервисы, которые могут использовать пользовательские функции
- Оптимизация пользовательских функций
Кроме того, пользовательские функции, определенные в дополнениях, имеют некоторые особые требования:
- При именовании функции постарайтесь использовать уникальное имя, возможно, связанное с названием вашего дополнения. Если два или более установленных дополнений определяют пользовательские функции с одинаковым именем, пользователи смогут использовать только одно из них.
- Ваше дополнение должно чётко указывать, какие пользовательские функции оно предоставляет. Обязательно предоставляйте точные комментарии JSDoc для ваших пользовательских функций, чтобы Apps Script мог предоставлять пользователю информацию для автодополнения . Кроме того, рассмотрите возможность предоставления дополнительной документации по пользовательским функциям либо в самом дополнении, либо на веб-странице поддержки дополнений.
- Пользовательские функции, которые не выполняются менее чем за 30 секунд, завершаются с
Internal error executing the custom function
. Создайте положительный пользовательский опыт, ограничив объём обработки, выполняемой пользовательской функцией. Оптимизируйте функцию везде, где это возможно. - Пользовательские функции не могут использовать службы Apps Script, требующие авторизации. При попытке такой попытки возникает ошибка
You do not have permission to call X service
. Используйте в своей пользовательской функции только разрешённые службы . - Каждая пользовательская функция на листе приводит к отдельному вызову серверов Apps Script. Если пользователь попытается использовать пользовательские функции в слишком большом количестве ячеек, их выполнение может замедлиться. Чтобы избежать этого, сделайте пользовательские функции максимально простыми. Если вам нужно, чтобы функция выполняла сложную или расширенную обработку, не используйте пользовательскую функцию — вместо этого реализуйте эту функциональность через пункт меню, диалоговое окно или взаимодействие с боковой панелью.
Макросы листов
Макросы позволяют записывать действия, выполненные в Google Таблицах, и повторять их позже с помощью сочетания клавиш. Созданный на листе макрос добавляется как макрофункция в проект Apps Script , привязанный к этому листу. Подробнее о макросах см. в статье «Макросы Google Таблиц» .
К сожалению, макросы Таблиц нельзя распространять вместе с надстройками. Если включить определение макроса в манифест надстройки, оно станет недоступно пользователям этой надстройки.