Расширение Google Sheets с надстройками

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

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

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

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

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

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

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

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

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

Триггеры

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

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

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

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

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

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

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

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

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

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