Учебник Google Apps Script для начинающих
Автоматизация Google-таблиц скриптами: рассылки, отчёты, интеграции и триггеры — прямо в облаке, без своего сервера.
Курс «Google Apps Script: автоматизация Google-таблиц» состоит из 5 разделов и 15 уроков: Начало работы, Работа с данными, Триггеры и автоматизация, Интеграции и Эксплуатация. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Начало работы
- Что такое Apps Script и зачем он
Что такое Google Apps Script: JavaScript на серверах Google с доступом к таблицам, почте и диску. Отличия от VBA, сервисы, триггеры и бесплатные квоты.
- Редактор и первый скрипт
Редактор Apps Script: Расширения → Apps Script, привязанный скрипт против отдельного проекта, первая функция, Logger.log, запуск и разрешения OAuth.
- SpreadsheetApp: читаем и пишем
SpreadsheetApp на практике: getActiveSpreadsheet, getSheetByName, getRange, чтение и запись значений и главное правило скорости — работать диапазоном.
- Что такое Apps Script и зачем он
2 Работа с данными
- Диапазоны и массивы
getValues() возвращает двумерный массив, setValues() требует совпадения размеров. Разбираем обход строк и путаницу индексов: массив с 0, лист с 1.
- Фильтрация, сортировка, вычисления
Почему цикл с getValue() работает минуту, а map/filter/reduce в памяти — полсекунды. Обработка данных Apps Script в массиве и запись результата одним setValues().
- Форматирование и оформление листа
Как из Apps Script создать лист, оформить шапку, задать числовые форматы, границы и цвета, навесить условное форматирование — и не сломать скорость.
- Диапазоны и массивы
3 Триггеры и автоматизация
- Простые триггеры: onOpen и onEdit
Простые триггеры Apps Script: своё меню в таблице через onOpen, реакция на правку ячейки через onEdit, объект события e и жёсткие ограничения простых триггеров.
- Устанавливаемые триггеры
Устанавливаемые триггеры Apps Script: запуск по времени (каждый день в 9:00), по отправке формы и по правке; создание кодом и мышкой, лимиты выполнения.
- Google Forms → таблица → действие
Связка Google Forms и Apps Script: триггер onFormSubmit, объект события namedValues, письмо клиенту и менеджеру, статус-колонка и защита от повторов.
- Простые триггеры: onOpen и onEdit
4 Интеграции
- Отправка писем через Gmail
MailApp и GmailApp в Google Apps Script: чем отличаются, как сделать рассылку по строкам таблицы (mail merge), добавить вложения и не упереться в суточные лимиты.
- Работа с Google Drive
DriveApp в Apps Script: создание файлов и папок, поиск, экспорт листа таблицы в PDF, раздача доступа и автоматическая архивация отчётов по папкам год/месяц.
- Вызов внешних API (UrlFetchApp)
UrlFetchApp в Google Apps Script: GET и POST, заголовки и токены, разбор JSON, подтягивание курса валют в таблицу, muteHttpExceptions и ретраи при ошибках сети.
- Отправка писем через Gmail
5 Эксплуатация
- Веб-приложение из скрипта
doGet и doPost в Google Apps Script: HTML-форма и JSON-эндпоинт поверх таблицы, публикация web app, «Выполнять как» и «У кого есть доступ».
- Квоты, лимиты и таймауты
Шесть минут на выполнение, лимиты писем и вызовов в Apps Script: как разбить долгую задачу на порции, продолжить триггером и хранить курсор в PropertiesService.
- Отладка и надёжность
Logger и console в Apps Script, точки останова, журнал выполнений, try/catch с письмом об ошибке себе на почту, повторные попытки, версии и откат развёртывания.
- Веб-приложение из скрипта