Google Sheets — это облачное решение для работы с электронными таблицами, обеспечивающее совместную работу в режиме реального времени и обладающее мощными инструментами для визуализации, обработки и передачи данных.
Вы можете расширить функциональность Google Sheets с помощью надстроек, которые позволяют создавать индивидуальные решения для оптимизации рабочих процессов, устанавливать связь со сторонними системами и интегрировать данные из Google Sheets с другими приложениями Google Workspace (например, Google Slides).
Вы можете посмотреть созданные другими пользователями надстройки для Google Sheets на торговой площадке Google Workspace Marketplace .
Что вы можете сделать
Вот несколько примеров того, что можно сделать с помощью дополнений, расширяющих функциональность Google Sheets:
- Read, edit, visualize, and format data in Sheets spreadsheets using the built-in Apps Script Spreadsheet service . The service also lets you create and modify conditional formatting and data validation rules.
- Используйте расширенную службу Google Sheets в Apps Script для прямого доступа к API Google Sheets .
- Создавайте пользовательские меню и определяйте интерфейсы для множества пользовательских диалоговых окон и боковых панелей, используя стандартные HTML и CSS.
- Включите в свой аддон определения пользовательских функций .
- Используйте дополнительные триггеры , которые запускают указанные функции при возникновении определенных событий.
Надстройки для Google Sheets создаются с использованием Apps Script. Чтобы узнать больше о том, как получить доступ к Google Sheets и управлять им с помощью Apps Script, см. раздел «Расширение возможностей Google Sheets» .
Структура листа
Электронная таблица Sheets состоит из одного или нескольких листов. Каждый лист представляет собой, по сути, двумерную сетку ячеек, в которые можно помещать текст, числа, ссылки или другие значения. Группа из одной или нескольких смежных ячеек называется диапазоном .
Сервис Apps Script для работы с электронными таблицами предоставляет несколько классов для представления организационных структур в таблицах (например, Sheet и Range »). Вы можете использовать эти классы для чтения и изменения данных и поведения таблиц.
Триггеры
Триггеры Apps Script позволяют проекту скриптов выполнять указанную функцию при выполнении определенных условий, например, при открытии электронной таблицы или установке надстройки.
Дополнительную информацию о том, какие триггеры можно использовать с надстройками Sheets и какие ограничения применяются к их использованию, см. в разделе «Триггеры надстроек».
Пользовательские функции
Sheets has a number of built-in functions like SUM and AVERAGE that can be invoked from within a Sheets cell. Sheets add-ons can define additional custom functions to supplement these built-in functions. When a user installs the add-on, any defined custom functions included with the add-on become available immediately. It is possible for an add-on to consist of only custom function definitions. Custom function definitions are primarily shared with others by publishing an add-on containing the definitions.
Создание дополнительных пользовательских функций
Любая функция, определенная в проекте скрипта дополнения, может быть использована в качестве пользовательской функции. После реализации функции и установки дополнения вы можете вызвать пользовательскую функцию, как и любую другую встроенную функцию Google Sheets: в ячейке листа введите знак равенства ( = , за которым следует имя функции и необходимые параметры. Если ошибок нет, результат, возвращаемый функцией, помещается в ячейку листа, при необходимости перетекая в соседние ячейки.
При создании пользовательских функций в дополнении следует придерживаться общих рекомендаций по созданию пользовательских функций:
- Рекомендации по именованию функций
- Определение аргументов функции
- Определение возвращаемого значения функции
- Типы данных пользовательских функций
- Включение автозаполнения с помощью JSDoc
- Сервисы, которые могут использовать пользовательские функции
- Оптимизация пользовательских функций
Кроме того, для пользовательских функций, определенных в дополнениях, существуют некоторые особые требования:
- При именовании функции старайтесь создавать уникальное имя, например, связанное с названием вашего дополнения. Если два или более установленных дополнения определяют пользовательские функции с одинаковым именем, пользователи смогут использовать только одну из них.
- Ваше дополнение должно четко указывать, какие пользовательские функции оно предоставляет. Обязательно предоставьте точные JSDoc-комментарии для ваших пользовательских функций, чтобы Apps Script мог отображать информацию для автозаполнения пользователю. Кроме того, рассмотрите возможность предоставления дополнительной документации по пользовательским функциям либо в самом дополнении, либо на странице поддержки дополнения.
- Пользовательские функции, которые не завершаются менее чем за 30 секунд, завершаются с
Internal error executing the custom function. Для обеспечения удобства использования ограничьте объем вычислений в пользовательской функции. Оптимизируйте функцию там, где это возможно. - Пользовательские функции не могут использовать службы Apps Script, требующие авторизации, и при попытке это сделать выдают ошибку
You do not have permission to call X service. Используйте в своей пользовательской функции только разрешенные службы . - Каждая пользовательская функция в таблице приводит к отдельному вызову серверов Apps Script. Если пользователь попытается использовать пользовательские функции в слишком большом количестве ячеек, их выполнение может замедлиться. Чтобы этого избежать, делайте пользовательские функции максимально простыми. Если вам нужна функция для выполнения сложной или длительной обработки, не используйте пользовательскую функцию — предоставьте эту функциональность с помощью пункта меню, диалогового окна или взаимодействия в боковой панели.
Макросы в таблицах
Макросы позволяют записывать действия, выполняемые в таблицах, и повторять их позже с помощью сочетания клавиш. При создании макроса в таблице он добавляется в качестве макрофункции в проект Apps Script, привязанный к этой таблице. Дополнительную информацию о макросах см. в разделе «Макросы в таблицах» .
К сожалению, макросы для Google Sheets нельзя распространять вместе с надстройками. Если вы включите определение макроса в манифест надстройки, оно станет недоступно пользователям этой надстройки.