# Google Apps Script: ИИ-нейросеть для скриптов Таблиц и Документов

> Источник: https://aliviy.io/google-apps-script/
> Обновлено: 2026-10-19
> Сервис: Аливия (aliviy.io) — онлайн ИИ-чат на русском языке.

## Что такое Google Apps Script и как нейросеть пишет скрипты

**Google Apps Script**  — это платформа Google для автоматизации Таблиц, Документов, Форм, Gmail, Календаря и Диска: скрипты пишутся на JavaScript и выполняются на серверах Google, без установки программ. Простыми словами, это аналог макросов VBA, только для сервисов Google. Скрипт может заполнять ячейки, отправлять письма, создавать документы по шаблону и запускаться сам по расписанию.

Конструктор запроса под чатом собирает исходные данные: где работает скрипт (Таблицы, Документы, Формы, Gmail), что нужно автоматизировать, какой триггер — вручную, по времени, при изменении, при отправке формы — и структуру листа: названия листов, столбцы, с какой строки начинаются данные. Нейросеть пишет код с комментариями на русском и пошаговую инструкцию по установке.

Если вы работаете в Excel, а не в Google Таблицах, вам нужны [макросы VBA](https://aliviy.io/vba/) — у них другой язык и другие возможности. А готовую структуру таблицы для учёта клиентов, склада или бюджета удобно сначала собрать в [шаблоне учёта в Google Таблицах](https://aliviy.io/sheets-planner/), а потом автоматизировать скриптом.

## Что можно автоматизировать скриптом

- **Таблицы:**  отметка времени при изменении, перенос строк между листами, архив отчётов, своё меню с кнопками, пользовательские функции для ячеек.
- **Gmail:**  рассылка писем по списку из таблицы, напоминания о сроках, разбор входящих писем в таблицу.
- **Формы:**  обработка ответов, уведомления ответственному, создание документа по каждому ответу.
- **Документы и Диск:**  договоры и счета по шаблону с подстановкой данных из строки, сохранение в PDF, раскладка файлов по папкам.
- **Внешние сервисы:**  запрос к API, например курсы валют или данные CRM, с записью результата на лист.

## Триггеры: как заставить скрипт запускаться самому

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

| Триггер | Когда срабатывает | Ограничения | Пример задачи |
| --- | --- | --- | --- |
| Простой onEdit(e) | Пользователь меняет ячейку | Не дольше 30 секунд, без сервисов, которым нужна авторизация (например, Gmail), не срабатывает на изменения из скрипта или API | Отметка времени при смене статуса |
| Простой onOpen(e) | Файл открыли на редактирование | Те же, что у onEdit | Своё меню в таблице |
| Устанавливаемый «При изменении» | Изменение ячейки, как у onEdit | Работает от имени автора, может отправлять письма | Уведомление на почту при новой заявке |
| Устанавливаемый «По времени» | По расписанию: каждый час, день, неделю | Общее время работы триггеров ограничено квотой | Ежедневные напоминания, архив отчётов |
| «При отправке формы» | Пришёл ответ в Google Форму | Нужна авторизация при установке | Документ по шаблону для каждого ответа |

Если скрипт в onEdit пытается отправить письмо и падает с ошибкой прав, причина почти всегда в простом триггере: нейросеть переименует функцию и объяснит, как поставить устанавливаемый триггер.

## Как получить и установить скрипт

1. Опишите в конструкторе задачу, сервис и триггер, перечислите листы и столбцы: «лист Заявки, A — дата, B — клиент, C — статус, данные со 2-й строки».
2. Получите код и прочитайте комментарии: в них отмечено, какие имена листов и номера столбцов поменять под себя.
3. В таблице откройте «Расширения» → «Apps Script», удалите пустую функцию и вставьте код, сохраните проект.
4. Запустите функцию один раз вручную кнопкой «Выполнить» и подтвердите доступы: Google покажет, к каким данным скрипт просит доступ.
5. Для запуска по расписанию откройте раздел «Триггеры» в редакторе, нажмите «Добавить триггер», выберите функцию, источник «По времени» и интервал.
6. Проверьте результат на копии таблицы или на нескольких тестовых строках и только потом включайте на рабочих данных.

> Готовый запрос: «Google Таблица, лист Задачи: A — задача, B — email ответственного, C — срок (дата), D — статус. Данные со 2-й строки. Напиши скрипт, который каждый день в 9 утра отправляет письмо ответственному, если до срока остался 1 день и статус не „Готово“. Добавь комментарии и инструкцию, как поставить триггер по времени».

## Пример скрипта с разбором

Вот как выглядит ответ на запрос выше. Код читает лист целиком одним вызовом — так быстрее, чем обращаться к каждой ячейке.

```
function sendDeadlineReminders() {
  const sheet = SpreadsheetApp.getActive().getSheetByName('Задачи');
  const rows = sheet.getDataRange().getValues();
  const today = new Date();
  for (let i = 1; i < rows.length; i++) {
    const [task, email, deadline, status] = rows[i];
    if (status !== 'Готово' && deadline instanceof Date) {
      const days = Math.ceil((deadline - today) / 86400000);
      if (days === 1) {
        MailApp.sendEmail(email, 'Завтра срок: ' + task,
          'Срок задачи «' + task + '» наступает завтра.');
      }
    }
  }
}
```

Цикл начинается с 1, чтобы пропустить строку заголовков. Проверка `deadline instanceof Date` защищает от пустых и текстовых ячеек в столбце сроков. Функцию запускает триггер «По времени» — простой триггер здесь не подойдёт, потому что отправка почты требует авторизации.

## Чем Apps Script отличается от макросов VBA

Задачи похожи, но среда другая. Макрос VBA живёт внутри файла Excel и выполняется на вашем компьютере, а скрипт Apps Script хранится в облаке Google и работает на серверах, даже когда таблица закрыта и компьютер выключен. Поэтому рассылки и отчёты по расписанию в Google Таблицах делаются проще: не нужно оставлять открытым Excel.

Обратная сторона — квоты и права. Скрипт выполняется от имени пользователя, который его запустил или поставил триггер, и видит только то, к чему этот пользователь дал доступ. Если таблица общая, договоритесь, кто владелец триггеров: при удалении его аккаунта или отзыве доступа автоматизация остановится.

## Квоты и ограничения, о которых стоит знать

У Apps Script есть лимиты, и они разные для личных аккаунтов и Google Workspace. Для обычного аккаунта gmail.com одно выполнение скрипта длится не больше 6 минут, суммарное время работы триггеров — 90 минут в день, MailApp отправляет письма не более чем 100 получателям в день, а на один скрипт у пользователя может быть до 20 триггеров. Пользовательская функция в ячейке работает не дольше 30 секунд.

> Не запускайте непроверенный скрипт на рабочей таблице и не давайте доступ к своему аккаунту скриптам из неизвестных источников. При первом запуске Google просит разрешения на чтение таблиц, отправку почты или доступ к Диску — читайте список и сверяйте с тем, что скрипт должен делать. Для массовой рассылки сначала отправьте письмо себе и проверьте текст и адресатов.

## Как проверить, что скрипт работает правильно

- Откройте «Выполнения» в редакторе Apps Script: там видно, когда скрипт запускался, сколько работал и с какой ошибкой упал.
- Добавьте `console.log` в ключевые места и посмотрите журнал при ручном запуске.
- Проверьте краевые случаи: пустая строка, текст вместо даты, удалённый лист, повторный запуск в тот же день.
- Убедитесь, что скрипт не упирается в квоты: если строк тысячи, его стоит разбить на части или читать данные пакетами.

Apps Script построен на JavaScript, поэтому общие вопросы языка — массивы, даты, строки — можно разобрать в [генераторе кода на JavaScript](https://aliviy.io/javascript/). Если задача решается без кода, попробуйте сначала [формулы Google Таблиц](https://aliviy.io/excel-formulas/): QUERY, FILTER и IMPORTRANGE закрывают многие сценарии. А где в интерфейсе найти нужную кнопку, подскажут [инструкции «как сделать» для Excel и Word](https://aliviy.io/office-howto/) и Google Таблиц.

Аливия работает без регистрации и без VPN из России, принимает скриншоты таблицы и файлы CSV и Excel, чтобы понять структуру листа. Перед отправкой уберите из примеров реальные адреса и персональные данные клиентов. На бесплатном доступе есть дневной лимит запросов, у платных тарифов он больше.

## Google Apps Script: частые вопросы

Как открыть Google Apps Script в таблице?
В Google Таблице выберите «Расширения» → «Apps Script». Откроется редактор со скриптом, привязанным к этой таблице.
На каком языке пишут Google Apps Script?
На JavaScript с набором встроенных сервисов Google: SpreadsheetApp, DocumentApp, MailApp, DriveApp и других. Знание JavaScript помогает, но для типовых задач достаточно готового кода с комментариями.
Почему onEdit не отправляет письма?
Простой триггер onEdit не может использовать сервисы, которым нужна авторизация, включая почту. Переименуйте функцию и поставьте устанавливаемый триггер «При изменении» в разделе «Триггеры».
Как запустить скрипт по расписанию?
В редакторе откройте «Триггеры» → «Добавить триггер», выберите функцию, источник «По времени» и интервал: каждый час, день или неделю.
Сколько писем в день может отправить Apps Script?
Для обычного аккаунта gmail.com MailApp ограничен 100 получателями в день, у Google Workspace лимиты выше. Актуальные значения смотрите на странице квот в документации Google.
Сколько времени может работать скрипт?
Одно выполнение — до 6 минут, пользовательская функция в ячейке — до 30 секунд. Для длинных задач обработку делят на части и запускают по триггеру.
Безопасно ли давать скрипту доступ к аккаунту?
Свой скрипт, код которого вы прочитали, — да. Внимательно читайте список запрашиваемых разрешений и не запускайте скрипты из неизвестных источников.
Можно ли перевести макрос VBA в Apps Script?
Да, логику можно перенести, но объекты другие: вместо Range и Worksheets — методы SpreadsheetApp. Пришлите код VBA и опишите лист, нейросеть перепишет и отметит, что работает иначе.
Можно ли написать свою функцию для ячейки?
Да, пользовательская функция объявляется в Apps Script и вызывается в ячейке как обычная формула. Она не может менять другие ячейки и работает не дольше 30 секунд.
Что делать, если скрипт выдаёт ошибку?
Скопируйте полный текст ошибки и строку, на которую она указывает, и пришлите вместе с кодом. Чаще всего причина — неверное имя листа, номер столбца или нехватка прав у триггера.

## Итог

Google Apps Script в Аливии — это готовый скрипт с комментариями для Таблиц, Документов, Форм и Gmail и инструкция по установке, доступам и триггеру. Нейросеть подбирает тип триггера под задачу и учитывает квоты Google. Перед запуском на рабочих данных проверьте скрипт на копии таблицы и посмотрите журнал выполнений.
