Как добавить скрипт приложений в Google Sheets: пошаговое руководство

Что такое Google Apps Script и зачем он нужен в Google Sheets

Google Apps Script (GAS) – это облачный язык сценариев, основанный на JavaScript, который позволяет автоматизировать задачи и расширять функциональность Google Workspace, включая Google Sheets. GAS дает возможность создавать собственные функции, автоматизировать рутинные операции и интегрировать Google Sheets с другими сервисами Google и внешними API.

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

Преимущества использования скриптов для автоматизации задач

Использование скриптов в Google Sheets предоставляет множество преимуществ:

Автоматизация: Автоматическое выполнение повторяющихся задач, таких как форматирование данных, отправка отчетов, обновление информации из внешних источников.

Расширение функциональности: Создание пользовательских функций, недоступных во встроенных возможностях Google Sheets.

Интеграция: Взаимодействие с другими сервисами Google (Gmail, Calendar, Drive) и внешними API для получения и обработки данных.

Персонализация: Адаптация Google Sheets под конкретные потребности и бизнес-процессы.

Уменьшение ошибок: Скрипты выполняют задачи последовательно и точно, снижая вероятность человеческих ошибок.

Основные понятия: скрипты, функции, триггеры

Скрипт: Это набор инструкций (код), написанный на Google Apps Script, который выполняет определенную задачу.

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

Триггер: Это механизм автоматического запуска скрипта при определенных событиях, таких как открытие таблицы, изменение данных или наступление определенного времени.

Как открыть редактор скриптов в Google Sheets

Открытие редактора скриптов через меню «Инструменты»

Чтобы открыть редактор скриптов в Google Sheets, выполните следующие шаги:

Откройте таблицу Google Sheets, в которую вы хотите добавить скрипт.

В верхнем меню выберите "Инструменты".

В выпадающем меню выберите "Редактор скриптов". Откроется новое окно или вкладка браузера с редактором Google Apps Script.

Обзор интерфейса редактора скриптов

Интерфейс редактора скриптов состоит из нескольких основных частей:

Строка меню: Содержит команды для работы с файлами, редактирования кода, запуска скриптов, просмотра и отладки.

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

Редактор кода: Основная область, где вы пишете и редактируете код скрипта. Поддерживает подсветку синтаксиса и автодополнение.

Лог выполнения (Logger): Отображает сообщения, выводимые скриптом в процессе выполнения, полезно для отладки.

Редактор триггеров: Позволяет настроить автоматический запуск скриптов при определенных событиях.

Добавление и редактирование скриптов

Создание нового скрипта с нуля

После открытия редактора скриптов автоматически создается новый проект. Если необходимо создать новый файл скрипта, нажмите "Файл" -> "Создать" -> "Скрипт". Новый файл скрипта будет содержать пустую функцию function myFunction() {}.

Ввод и редактирование кода скрипта

В редакторе кода можно вводить и редактировать код Google Apps Script. Редактор поддерживает подсветку синтаксиса, что облегчает чтение и написание кода. Пример:

/**
 * @OnlyCurrentDoc
 */

/**
 * Функция для получения имени текущего пользователя.
 * @return {string} Имя пользователя.
 */
function getCurrentUserName(): string {
  const user: string = Session.getActiveUser().getEmail();
  return user;
}

/**
 * Функция для записи имени пользователя в ячейку A1 текущего листа.
 */
function writeUserNameToSheet(): void {
  const sheet: GoogleAppsScript.Spreadsheet.Sheet = SpreadsheetApp.getActiveSheet();
  const userName: string = getCurrentUserName();
  sheet.getRange('A1').setValue(userName);
}
Реклама

Сохранение скрипта

Для сохранения скрипта нажмите на значок дискеты на панели инструментов или выберите "Файл" -> "Сохранить". При сохранении вам будет предложено ввести название скрипта. Рекомендуется давать скриптам понятные имена, отражающие их функциональность.

Основные элементы синтаксиса Google Apps Script (переменные, функции, циклы)

Google Apps Script, как и JavaScript, поддерживает следующие основные элементы синтаксиса:

Переменные: используются для хранения данных. Объявляются с помощью var, let, или const. Рекомендуется использовать let и const.

Функции: блоки кода, выполняющие определенные задачи. Объявляются с помощью ключевого слова function.

Циклы: позволяют повторять выполнение блока кода несколько раз. Основные типы циклов: for, while, do...while.

Условные операторы: позволяют выполнять код в зависимости от условия. Основные операторы: if, else if, else.

Пример использования цикла и условного оператора:

/**
 * Функция для подсчета количества ячеек со значением больше 10 в диапазоне A1:A10.
 * @return {number} Количество ячеек со значением больше 10.
 */
function countValuesGreaterThanTen(): number {
  const sheet: GoogleAppsScript.Spreadsheet.Sheet = SpreadsheetApp.getActiveSheet();
  const range: GoogleAppsScript.Spreadsheet.Range = sheet.getRange('A1:A10');
  const values: any[][] = range.getValues();
  let count: number = 0;

  for (let i = 0; i  10) {
      count++;
    }
  }
  return count;
}

Запуск и отладка скриптов

Запуск скрипта вручную

Для запуска скрипта вручную выберите функцию, которую хотите запустить, в выпадающем списке на панели инструментов и нажмите на значок "Выполнить". Перед первым запуском скрипта вам будет предложено предоставить ему необходимые разрешения.

Использование журнала (Logger) для отладки

Для отладки скриптов используйте журнал (Logger). Выводите в журнал значения переменных и сообщения, чтобы отслеживать ход выполнения скрипта.

function myFunction() {
  let myVariable: string = "Hello, world!";
  Logger.log(myVariable);
}

Для просмотра журнала выберите "Просмотр" -> "Журналы".

Обработка ошибок и исключений

Для обработки ошибок используйте блоки try...catch. Это позволяет предотвратить аварийное завершение скрипта при возникновении ошибки.

function myFunction() {
  try {
    // Код, который может вызвать ошибку
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("NonExistentSheet").activate();
  } catch (e) {
    // Обработка ошибки
    Logger.log("Ошибка: " + e);
  }
}

Примеры скриптов для Google Sheets

Автоматическая отправка email уведомлений

/**
 * Отправляет email уведомление при изменении ячейки A1.
 */
function sendEmailNotification(): void {
  const sheet: GoogleAppsScript.Spreadsheet.Sheet = SpreadsheetApp.getActiveSheet();
  const cell: GoogleAppsScript.Spreadsheet.Range = sheet.getRange('A1');
  const value: any = cell.getValue();
  const recipient: string = 'recipient@example.com';
  const subject: string = 'Изменение в Google Sheets';
  const body: string = `Ячейка A1 была изменена на значение: ${value}`;

  MailApp.sendEmail(recipient, subject, body);
}

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

/**
 * Пользовательская функция для умножения двух чисел.
 * @param {number} a Первое число.
 * @param {number} b Второе число.
 * @customfunction
 */
function MULTIPLY(a: number, b: number): number {
  return a * b;
}

Чтобы использовать эту функцию в Google Sheets, введите =MULTIPLY(A1, B1) в ячейку.

Автоматизация импорта и экспорта данных

/**
 * Функция для импорта данных из CSV файла по URL.
 */
function importDataFromCSV(): void {
  const url: string = 'https://example.com/data.csv';
  const response: GoogleAppsScript.URL_Fetch.HTTPResponse = UrlFetchApp.fetch(url);
  const csvData: string = response.getContentText();
  const csvArray: string[][] = Utilities.parseCsv(csvData);
  const sheet: GoogleAppsScript.Spreadsheet.Sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(1, 1, csvArray.length, csvArray[0].length).setValues(csvArray);
}

Использование триггеров для автоматического запуска скриптов

Триггеры позволяют автоматически запускать скрипты при определенных событиях. Для создания триггера выберите "Изменить" -> "Триггеры текущего проекта" в редакторе скриптов. Настройте параметры триггера (событие, время запуска, функция) и сохраните его.

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


Добавить комментарий