Уровень сложности: Начинающий

Последнее обновление: 2021-01-27

Добро пожаловать во вторую часть сборника "Основы Apps Script в Google Таблицах"! Из предыдущей лабы, посвященной концепциям редактора сценариев, макросам и пользовательским функциям, эта лаба углубляется в службу Spreadsheet Service, которую вы можете использовать для чтения, записи и управления данными в Google Таблицах.

Что вы изучите

Прежде чем вы начнете

Это вторая лаба из сборника "Основы Apps Script в Google Таблицах". Перед тем, как начать эту лабу, обязательно пройдите первую "Макросы и пользовательские функции".

Что вам потребуется

В следующем разделе представлены основные классы службы Таблиц.

Основу службы Spreadsheet Service для управления Таблицами составляют четыре класса: SpreadsheetApp, Spreadsheet, Sheet и Range. В этом разделе описаны эти классы и их назначение.

Класс SpreadsheetApp

Прежде чем углубляться в таблицы, листы и диапазоны, вы должны взглянуть на их родительский класс: SpreadsheetApp. Многие сценарии начинаются с вызова методов SpreadsheetApp, поскольку они могут обеспечить начальную точку доступа к вашим Таблицам Google. Вы можете думать о SpreadsheetApp как об основном классе службы Spreadsheet Service. Специально класс SpreadsheetApp здесь не рассматривается. Однако позже в этой лабе вы можете найти как примеры, так и упражнения, которые помогут вам понять этот класс.

Таблицы, листы и их классы

Как термин, электронная таблица [spreadsheet] - это файл Google Таблиц (хранящийся на Google Диске), который содержит данные, упорядоченные по строкам и столбцам. Допустимое оригинальное название "Google Sheet", как и Google Документ называют "Google Doc".

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

Лист представляет собой отдельную страницу Таблицы, которую иногда называют "вкладкой". Каждая Таблица может содержать один или несколько листов. Вы можете использовать класс Sheet [Лист] для доступа и изменения данных и настроек на уровне листа, таких как перемещение строк или столбцов данных.

Как правило, работая с электронными таблицами, вы можете войти в цикл повторяющихся действий - копирование значений ячеек, форматирование, создание формул и т.д. - которые могут стать утомительными и привести к ошибкам. Чтобы дать вам возможность автоматизировать повторяющиеся действия, в Google Таблицах есть макросы. Макросы позволяют "записывать" серию действий в Таблице. С записанным макросом вы можете повторить эту серию действий в другом месте этой же таблицы простым нажатием горячей клавиши.

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

Прежде чем вы начнете

Прежде чем продолжить, вам понадобится электронная таблица с некоторыми данными. Мы уже подготовили одну: щелкните кнопку ниже, чтобы скопировать Таблицу данных, а затем, перейдя по ссылке, щелкните кнопку "Создать копию".

Скопировать Таблицу данных

Копия примера Таблицы, которую вы можете использовать, будет размещена в папке Google Диска и называться "Копия Топ-10 самых кассовых фильмов (2020)".

Создание макроса

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

  1. Щелкните ячейку A1, чтобы навести курсор на эту строку. Это ваша строка заголовка.
  2. В меню выберите Меню > Инструменты > Макросы > Записать макрос.

Как только вы начнете запись, Google Таблица начнет запоминать действия, которые вы выполняете: выделение ячеек, добавление данных, переключение на разные листы, форматирование и т.д. Эти действия позже становятся "сценарием", который повторяется после сохранения и активации макроса.

  1. В окне записи макроса ("макрос-бокс") выберите "Использовать относительные ссылки".

  1. Выберите строку 1.

  1. Измените цвет заливки выделенной строки с белого на темно-пурпурный (3).

  1. Измените цвет текста выделенной строки с черного на белый.

  1. Сделайте текст жирным шрифтом, нажав [Ctrl]+[B] (или [Cmd]+[B] на Mac).
  2. Выберите Меню > Вид > Закрепить > 1 строку, чтобы зафиксировать верхнюю строку.

  1. Нажмите кнопку "Сохранить" в окне записи макроса внизу экрана. Затем в новом диалоговом окне вас попросят назвать макрос; дайте ему имя "Заголовок" и нажмите "Сохранить".

Используя пользовательский интерфейс Таблиц, вы создали макрос, специально предназначенный для форматирования заголовков!

Активация вашего макроса

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

  1. Щелкните слева от вкладок листов или Меню > Вставка > Новый лист, чтобы создать новый лист.
  2. На новом листе добавьте какой-нибудь текст в A1:C2. Не стесняйтесь следовать приведенным ниже примерам:

  1. Выделите первую строку.

  1. Выберите Меню > Инструменты > Макросы > Заголовок, чтобы применить макрос к выбранной области.

  1. Авторизуйте макрос, следуя инструкциям на экране.
  1. Повторите шаг 4, чтобы снова запустить макрос (авторизация останавливает первое выполнение).

Вы узнали, как применять макросы в Таблицах. Поздравляю! Ваша таблица должна выглядеть так:

Макросы позволяют эффективно создавать электронные таблицы, и в следующей части этой лабы вы узнаете, как сделать ваши макросы еще более мощными! Секрет в том, что когда вы записываете макрос, на самом деле вы пишете код Apps Script. За кулисами Таблицы создают код, который соответствует макрокомандам за вас. А в следующем разделе вы узнаете, как изменить этот код напрямую с помощью редактора Apps Script в браузере.

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

Взгляд на редактор

Теперь, когда вы создали макрос, вы можете посмотреть его код. Вы можете просмотреть свой макрос-скрипт, выбрав Меню > Инструменты > Редактор скриптов, чтобы открыть редактор кода в браузере для Apps Script.

Понимание Макросы.gs

Посмотрите текущий сценарий. Таблицы создали файл скриптов Макросы.gs, когда вы записали макрос "Заголовок", заполнив его соответствующей функцией сценария приложений под названием "Заголовок". Когда вы активируете макрос, Таблицы запускают эту функцию.

Посмотрите на изображение ниже, чтобы познакомиться со структурой вашей макрос-функции в Apps Script. Ваш код может выглядеть немного иначе, если вы записали шаги в другом порядке или щелкнули на поле Таблице во время записи.

Первая строка - это аннотационный комментарий, влияющий на авторизацию:

/** @OnlyCurrentDoc */

Большинство скриптов перед запуском запрашивают у пользователя некоторый набор разрешений. Эти разрешения определяют, что пользователь разрешает делать сценарию. Если в проекте сценария присутствует комментарий @OnlyCurrentDoc, Apps Script запрашивает только разрешение на доступ и обновление текущей Таблицы. Без этого комментария Apps Script будет запрашивать разрешение на доступ и обновление всех Таблиц пользователя. Всегда полезно включать эту аннотацию, если вы планируете работать только с одним файлом Таблиц (Документов, Слайдов). Инструмент записи макросов автоматически добавляет этот комментарий.

Чтобы начать понимать, как Apps Script представляет инструкции вашего макроса, вы можете взглянуть на функцию:

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(spreadsheet.getCurrentCell().getRow(), 1, 1, sheet.getMaxColumns()).activate();
  spreadsheet.getActiveRangeList().setBackground('#4c1130')
  .setFontColor('#ffffff')
  .setFontWeight('bold');
  spreadsheet.getActiveSheet().setFrozenRows(1);
};

Этот код запускается, когда вы активируете макрос "Заголовок". После function отметка myFunction() определяет имя функции и ее параметры. Помните, что myFunction() не требует параметров, поскольку макрос-функции в Apps Script вызываются напрямую. В фигурных скобках всегда заключено тело функции Apps Script.

Следующие лабы из этого сборника объясняют классы и концепции, участвующие в создании макроса. Но пока вы можете посмотреть описания кода ниже, чтобы получить общее представление о его компонентах и ​​их роли в создании программы. Рассмотрим первую строку:

var spreadsheet = SpreadsheetApp.getActive();

Здесь getActive() возвращает объект, представляющий текущий активный файл Таблицы, и устанавливает его в новую переменную spreadsheet.

var sheet = spreadsheet.getActiveSheet();
sheet.getRange(spreadsheet.getCurrentCell().getRow(), 1, 1, sheet.getMaxColumns()).activate();

Этот код соответствует щелчку по первой строке Таблицы, чтобы выделить ее. Это называется активацией. Сначала код сохраняет текущий лист в переменной sheet, а потом получает всю первую строку с помощью метода getRange(), далее вызывает activate() для ее активации. Первая строка Таблицы указывается с использованием конкретных номеров строки и столбца. Вызов spreadsheet.getCurrentCell().getRow() возвращает номер текущей строки, а sheet.getMaxColumns() возвращает максимальное количество столбцов на листе.

spreadsheet.getActiveRangeList().setBackground('#4c1130')
  .setFontColor('#ffffff')
  .setFontWeight('bold');

Этот фрагмент кода становится более сложным. Чтобы эффективно вызывать методы с помощью переменной spreadsheet, код объединяется в три метода после getActiveRangeList(), чтобы предотвратить избыточный вызов getActiveRangeList(). По мере того, как вы все больше и больше будете писать код с помощью Apps Script, вы сможете лучше познакомиться с этим соглашением о вызове нескольких методов в одном классе (также известном как цепь вызовов). На данный момент достаточно прочитать следующие краткие объяснения каждого метода в этом блоке:

Наконец, последняя строка "замораживает" первую строку макроса:

spreadsheet.getActiveSheet().setFrozenRows(1);

И это сценарий, созданный вами при записи макроса! Не беспокойтесь о незнакомых терминах или методах, упомянутых выше. Описание предназначено для того, чтобы вы задумались о некоторых идеях, на которых Apps Script фокусируется в типичной функции макросов, и о том, какие темы будут рассматривать будущие лабы.

Следующий раздел посвящен управлению кодом myFunction(), чтобы показать, как можно использовать редактор сценариев для дальнейшей персонализации макросов.

Настройка макросов с помощью Apps Script

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

Изменение ячеек, на которые будет распространено воздействие

  1. В редакторе скриптов замените sheet.getMaxColumns() на 11 в строке 6. Это изменение изменяет диапазон ячеек в Таблице, на которые влияет макрос.
/** @OnlyCurrentDoc */

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(spreadsheet.getCurrentCell().getRow(), 1, 1, 11).activate(); /* sheet.getMaxColumns() заменено на 11 */
  spreadsheet.getActiveRangeList().setBackground('#4c1130')
    .setFontColor('#ffffff')
    .setFontWeight('bold');
  spreadsheet.getActiveSheet().setFrozenRows(1);
};
  1. Чтобы сохранить сценарий, в верхней части редактора щелкните "Сохранить проект" .
  2. Чтобы переименовать свой проект, вверху нажмите на заголовок "Проект без названия" (или "Записанные макросы (Копия Топ-10 самых кассовых фильмов (2020))", зависит от порядка записи макроса), введите "Макросы и пользовательские функции" в качестве имени нового проекта и выберите "Переименовать".
  3. В Таблице щелкните слева от вкладок листов или Меню > Вставка > Новый лист, чтобы создать новый лист.
  4. В редакторе сценариев в раскрывающемся списке функций выберите myFunction() и щелкните "Выполнить" .

На новом листе вы должны увидеть следующий результат:

Теперь, изменяя активный или целевой диапазон, ваш макрос влияет только на часть первой строки! Многие методы Apps Script принимают диапазон строку в А1-нотации в качестве параметра, чтобы указать, с какими ячейками следует оперировать.

Пришло время узнать о настройке цветов!

Изменение цветов в коде макроса

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

Эти первые несколько шагов касаются изменения цвета фона, который назначает макрос:

  1. В Таблице вернитесь к исходному листу (Лист1), содержащему данные.
  2. Щелкните первую строку, чтобы выделить ее.
  3. В редакторе сценариев замените #4c1130 на #afeeee в строке 6. Эти значения представляют разные цвета с использованием шестнадцатеричной нотации.
/** @OnlyCurrentDoc */

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(spreadsheet.getCurrentCell().getRow(), 1, 1, 11).activate(); /* sheet.getMaxColumns() заменено на 11 */
  spreadsheet.getActiveRangeList().setBackground('#afeeee') /* #4c1130 заменено на #afeeee */
    .setFontColor('#ffffff')
    .setFontWeight('bold');
  spreadsheet.getActiveSheet().setFrozenRows(1);
};
  1. В Таблице щелкните слева от вкладок листов или Меню > Вставка > Новый лист, чтобы создать новый лист.
  2. В редакторе сценариев в раскрывающемся списке функций выберите myFunction() и щелкните "Выполнить" .

В Таблице фоновая заливка первых 11 столбцов в первой строке будут перекрашены в индивидуальный бирюзовый цвет, как показано здесь:

Переключив шестнадцатеричное значение цвета в параметрах setBackground(color) с #4c1130 (темно-пурпурный 3) на #afeeee (бледно-бирюзовый, параметр недоступный в меню цветов Таблиц по умолчанию), вы изменяете атрибут цвета фона для вашего макроса.

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

  1. В Таблицах щелкните первую строку, чтобы убедиться, что она все еще выделена.
  2. В редакторе сценариев замените #ffffff на #191970 в строке 8. Это заставит макрос установить цвет шрифта в темно-синий.
/** @OnlyCurrentDoc */

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(spreadsheet.getCurrentCell().getRow(), 1, 1, 11).activate(); /* sheet.getMaxColumns() заменено на 11 */
  spreadsheet.getActiveRangeList().setBackground('#afeeee') /* #4c1130 заменено на #afeeee */
    .setFontColor('#191970') /* #ffffff заменено на #191970 */
    .setFontWeight('bold');
  spreadsheet.getActiveSheet().setFrozenRows(1);
};
  1. В Таблице щелкните слева от вкладок листов или Меню > Вставка > Новый лист, чтобы создать новый лист.
  2. В редакторе сценариев в раскрывающемся списке функций выберите myFunction() и щелкните "Выполнить" .

Вернитесь в Таблицу. Обратите внимание, что цвет текста в строке заголовка теперь темно-синий!

Теперь вы увидели, что макросы на самом деле являются действиями в Таблицах, записанными в виде кода Apps Script. В следующем разделе вы увидите еще одну возможность, которой Apps Script может помочь вам в работе с Google Таблицами: пользовательские функции.

Как и большинство приложений для работы с электронными таблицами, Google Таблицы имеют ряд встроенных формул, таких как =СУММ(), которые позволяют выполнять быстрые вычисления с данными таблицы. Пользовательские функции - это просто функции, которые вы определяете сами с помощью Apps Script. После того как вы определили пользовательскую функцию, вы можете использовать ее в любом месте вашей таблицы, как встроенную формулу.

В этом разделе показано, как создать пользовательскую функцию в Apps Script, которая выполняет валютную конвертацию.

Создание нового файла сценария

Используя ту же таблицу и проект скриптов, что и в разделе выше с макросами, вы можете следовать инструкциям ниже, чтобы узнать, как создать новый сценарий (который в конечном итоге можно использовать для создания своей первой настраиваемой функции!):

  1. Чтобы создать новый файл Apps Script в текущем проекте, в левой части редактора рядом с полем "Файлы" нажмите "Добавить файл" > Скрипт.
  2. Назовите новый файл сценария "Пользовательские функции" (Apps Script автоматически добавляет расширение ".gs" к имени).

В редакторе появится новая вкладка с именем "Пользовательские функции.gs".

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

Перевод долларов США в российские рубли

Предположим, вы хотите скорректировать данные для "Топ-10 самых кассовых фильмов (2020)", чтобы они отображали не только значения в долларах, но также и в рублях. С пользовательскими функциями это легко сделать. В следующем упражнении показано, как создать пользовательскую функцию для математического преобразования ваших долларовых значений в значения в рублях.

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

  1. В Таблице щелкните правой кнопкой мыши на столбец I.
  2. В появившемся меню нажмите Вставить справа: 1.

  1. Добавьте текст "Мировой прокат, рубли" в ячейку J1.

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

  1. В Пользовательские функции.gs замените код пустой функции myFunction() на следующий:
/**
 * Конвертирует доллары в рубли.
 *
 * @param {number} dollars Значение суммы в долларах.
 * @return {number} rubles Конвертированное значение в рублях.
 * @customfunction
 */
function USDTORUB(dollars){
  var rubles = dollars * 75.0; 
  return rubles;
}

Это код, который конвертирует доллары в рубли. Ниже идет инструкция, как запустить пользовательскую функцию в вашей Таблице.

  1. Чтобы сохранить сценарий, в верхней части редактора щелкните "Сохранить проект" .
  2. На листе с данными выберите ячейку J2.
  3. В поле функций введите =USDTORUB(I2)

Чтобы применить формулу к остальным ячейкам столбца:

  1. Переместите курсор в нижний правый угол ячейки J2 и выберите маленькую синий квадратик (ваш курсор должен трансформироваться в при наведении на синий квадратик в ).
  2. Щелкните и перетащите синий прямоугольник вниз, чтобы выделить J3:J11.

В столбце J теперь указана конвертированная стоимость в рублях!

Поздравляем, вы создали свою первую пользовательскую функцию. Далее рассмотрим код, из которого состоит USDTORUB().

Анализ функции USDTORUB()

В начале кода вы можете распознать комментарии, подробно описывающие назначение этой части программы:

/**
 * Конвертирует доллары в рубли.
 *
 * @param {number} dollars Значение суммы в долларах.
 * @return {number} rubles Конвертированное значение в рублях.
 * @customfunction
 */

Подобные блоки комментариев часто используются в программировании, чтобы объяснить, что делают функции.

В этом комментарии вы можете выделить две части: описание функции (сообщение о преобразовании) и аннотации, описывающие параметры функции и тип возвращаемого значения.

Apps Script использует JSDoc для аннотаций, чтобы помочь вам документировать и создавать подсказки автозаполнения для вашего кода. Вы можете прочитать ниже, как каждая аннотация, используемая в USDTORUB(), помогает в разработке Apps Script:

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

Далее сфокусируемся на коде функции USDTORUB():

function USDTORUB(dollars){
  var rubles = dollars * 75.0; 
  return rubles;
}

Как упоминалось ранее, USDTORUB() принимает числовую переменную в долларах и возвращает это значение, преобразованное в рубли в числовой переменной rubles, умножая его на фиксированный обменный курс. Входной параметр - это значение, содержащееся в ячейке, которую вы указали при добавлении пользовательской функции в ячейку. В этом примере входные суммы в долларах поступают из столбца I. Выходное значение rubles помещается в ячейку функции (то есть в столбец J в этом примере).

Пользовательские функции могут работать с числовыми или строковыми значениями. Это будет показано далее.

Объединение строкового суффикса

Предположим, вы хотите, чтобы числовой вывод функции USDTORUB() включал суффикс рублей "руб.". Вы можете сделать это с помощью Apps Script, используя оператор конкатенации "+", как показано в следующем примере:

  1. В редакторе измените return rubles; в строке 10 на return rubles + ' руб.';.

Оператор + добавляет строку " руб." в конец значения, содержащегося в rubles. Теперь ваш код должен выглядеть так:

/**
 * Конвертирует доллары в рубли.
 *
 * @param {number} dollars Значение суммы в долларах.
 * @return {number} rubles Конвертирует переданное значение в рубли.
 * @customfunction
 */
function USDTORUB(dollars) {
  var rubles = dollars * 75.0;
  return rubles + ' руб.';
}
  1. Чтобы сохранить сценарий, в верхней части редактора щелкните "Сохранить проект" .

Значения в рублях теперь отображаются в колонке J:

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

Дополнительно: получение внешних данных

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

Вы можете использовать приведенный ниже код, чтобы получить текущий курс конвертации рублей в доллары:

/**
 * Конвертирует доллары в рубли.
 *
 * @param {number} dollars Значение суммы в долларах.
 * @return {number} rubles Конвертирует переданное значение в рубли.
 * @customfunction
 */
function USDTORUB(dollars) {
  // Получает кэш, общий для всех пользователей скрипта.
  var cache = CacheService.getScriptCache();

  // Доступ к ячейке памяти (rate.RUB) кеша скриптов.
  var rate = cache.get("rates.RUB");

  // Если кэш отсутствует,
  // программа получает текущее значение RUB из API
  // и сохраняет его в кеше для дальнейшего использования.
  if (!rate) {
    var response = UrlFetchApp.fetch(
      "https://api.exchangeratesapi.io/latest?base=USD"
    );
    var result = JSON.parse(response.getContentText());
    rate = result.rates.RUB;
    cache.put("rates.RUB", rate);
  }
  // Конвертирует доллары в рубли по последнему курсу.
  var rubles = dollars * rate;
  // Возвращает значение в рублях с суффиксом.
  return rubles + " руб.";
}

Этот код получает текущий обменный курс с сервера финансовой информации с помощью стороннего API обменного курса. Это делается с помощью служб Apps Script, таких как UrlFetchApp и CacheService. Эти расширенные концепции выходят за рамки этой конкретной лабы, но вы можете начать видеть универсальность Apps Script, автоматизирующего более сложные и более реальные задачи в Google Таблицах.

Рекомендации по пользовательским функциям

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

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

Вы завершили первую лабу по основам Apps Script. Создавая и редактируя макросы и пользовательские функции Таблиц, вы изучили основные концепции Apps Script. Вы можете расширить свои знания об Apps Script в следующей лабе!

Считаете ли вы эту лабу полезной?

1) Да 2) Нет

Что мы рассмотрели

Что дальше

Следующая лаба в этом сборнике представляет основные классы и терминологию службы Spreadsheet Service Apps Script. Эта служба позволяет вам достаточно полно контролировать значения и представления данных в Google Таблицах с помощью Apps Script.

Вы можете найти следующую лабу по ссылке Основы Apps Script в Google Таблицах №3: Работа с данными. Пользовательские меню!