Расширение Google Таблиц с помощью надстроек

Google Таблицы — это облачное решение для работы с электронными таблицами с возможностью совместной работы в режиме реального времени и мощными инструментами для визуализации, обработки и передачи данных.

Вы можете расширить Таблицы с помощью надстроек, которые позволяют оптимизировать индивидуальные рабочие процессы, устанавливать подключение к сторонним системам и интегрировать данные Таблиц с другими приложениями Google Workspace (например, Google Slides).

Надстройки Таблиц, созданные другими пользователями, можно увидеть в Google Workspace Marketplace .

Что вы можете сделать

Вот несколько вещей, которые вы можете сделать с помощью надстройки, расширяющей возможности Google Таблиц:

Дополнения к Google Таблицам создаются с помощью Apps Script. Подробнее о доступе к Google Таблицам и управлении ими с помощью Apps Script см. в статье «Расширение Google Таблиц» .

Структура листа

Электронная таблица Google Таблиц состоит из одного или нескольких листов. Каждый лист представляет собой двумерную сетку ячеек, в которой можно хранить текст, числа, ссылки или другие значения. Группа из одной или нескольких смежных ячеек называется диапазоном .

Служба Apps Script Spreadsheet предоставляет несколько классов для представления организационных структур в Таблицах (например, Sheet и Range ). Эти классы можно использовать для чтения и изменения данных и поведения Таблиц.

Триггеры

Триггеры скриптов приложений позволяют проекту скрипта выполнять указанную функцию при соблюдении определенных условий, например при открытии электронной таблицы или при установке надстройки.

Дополнительную информацию о том, какие триггеры можно использовать с надстройками Таблиц и какие ограничения применяются к их использованию, см. в разделе триггеры надстроек.

Пользовательские функции

В Google Таблицах есть ряд встроенных функций, таких как SUM и AVERAGE , которые можно вызывать из ячейки Google Таблиц. Надстройки для Таблиц могут определять дополнительные пользовательские функции , дополняющие эти встроенные функции. После установки надстройки все заданные в ней пользовательские функции становятся доступны немедленно. Дополнение может состоять только из определений пользовательских функций. Доступ к определениям пользовательских функций осуществляется, главным образом, путём публикации надстройки, содержащей эти определения.

Создание дополнительных пользовательских функций

Любая функция, определённая в проекте скрипта дополнения, может быть использована как пользовательская функция. После реализации функции и установки дополнения вы можете вызывать пользовательскую функцию так же, как и любую другую встроенную функцию Таблиц: в ячейке Таблицы введите знак = , затем имя функции и необходимые параметры. При отсутствии ошибок возвращаемый функцией результат помещается в ячейку Таблицы, при необходимости заполняя соседние ячейки.

При создании пользовательских функций в дополнении следует следовать общим рекомендациям по созданию пользовательских функций:

Кроме того, пользовательские функции, определенные в дополнениях, имеют некоторые особые требования:

  • При именовании функции постарайтесь использовать уникальное имя, возможно, связанное с названием вашего дополнения. Если два или более установленных дополнений определяют пользовательские функции с одинаковым именем, пользователи смогут использовать только одно из них.
  • Ваше дополнение должно чётко указывать, какие пользовательские функции оно предоставляет. Обязательно предоставляйте точные комментарии 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 Таблиц» .

К сожалению, макросы Таблиц нельзя распространять вместе с надстройками. Если включить определение макроса в манифест надстройки, оно станет недоступно пользователям этой надстройки.