Google apps script подключить файл

Обновлено: 06.07.2024

Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.

Эта публикация призвана помочь пользователям понять, нужен ли им Google Apps Script. И если да, то как они могут им воспользоваться.

К сожалению, учить кого-то программировать на любом языке это руководство не станет, но ссылки на все непонятные вопросы, конечно будут. Поэтому вашему вниманию предлагается простой и самый распространенный способ получения опыта - “попробуй, и ты поймешь”.

И так, просто повторите несложные упражнения, и вы поймете…

Цитата 1

В рамках сообществ GDG, Google Top Contributors, Google G Suite. Russians и Google Диск и Документы мы уже как-то проводили спонтанные и организованные встречи на тему Google Apps Script. Из многолетнего опыта использования этой технологии, я бы вынес несколько основных тезисов, касающихся применения и возможностей этого языка:

  1. Это serverless. Сколько бы не говорили о неприменимости данного определения к инфраструктуре GS (GAS). На последних международных конференциях Google об этом говорят все чаще.
  2. Это ограничения. Не рассчитывайте на сложные интерфейсы, большие объемы данных и на сервисы типа "От моего имени - Все, и анонимы". Вся мощность достигается в принятии парадигмы "От своего имени - Все авторизованные".
  3. Отсутствие фреймворков. В GS играют обычные инженеры и ленивые люди (да, именно те, кто двигает Землю в будущее, которое уже кто-то придумал (-; ), и поэтому, многие инструменты либо хранятся в компаниях (Ultradox, Ablebits имеют свои фреймворки), либо представляют из себя набор сниппетов и библиотек google-apps-script-awesome-list
  4. G Suite - наше все. Используя Google oAuth2 Service Account и GAS вы можете управлять любыми данными сотрудника в вашей компании.
  5. На GAS не делают сайты.
  6. На GAS не делают пользовательские интерфейсы сервисов Google. Некоторые сервисы Google позволяют себя дополнить общими элементами.
  7. Продвигайте свои приложения с подтверждением безопасности. Для этого публикуйте свои приложения.
  8. Некоторые сервисы Google любят GAS как средство для создания датасет коннекторов.
  9. Некоторые сервисы Google любят GAS настолько, что используют их внутри себя.
  10. Наиболее частым использованием GAS остается сохранение и обработка данных в Таблицах.
  11. Это javascript диалект

Следуя этим нехитрым представлениям вы сможете сформулировать для себя ответ на вопрос "стоит ли использовать Google Apps Script?".

  • Можно ли построить маршрут на карте? - Да
  • Можно ли реализовать выбор полигонов на карте? - Лучше не надо
  • Возможен ли вызов из внешней программы? - Да
  • CRM? - В какой-то мере. Я разрабатывал коннекторы для amoCRM и bitrix24 - возможно, они больше подходят для CRM. Скрипты в данном случае чаще используются для массовой загрузки и обновлений, для создания отчетов.
  • Калькулятор? - Да. Возможно, это идеальная среда для создания калькуляторов для обработки небольших массивов (до 5 млн. ячеек, если говорить рпо Таблицы). Доступны API прогнозов и прочего.
  • Анализы и графики? - Да. Идеальный инструмент в содружестве с Google Charts, Google Data Studio, Google Ads.
  • Публичный сайт или корпоративный инструментарий? Однозначно второе.

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

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

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

Ресурсы по изучению JS

Пожалуйста, отправляйте ссылки на интересные ресурсы по JS через эту форму Ресурсы по изучению JS

Ресурсы по изучению Google Apps Script

Пожалуйста, отправляйте ссылки на интересные ресурсы по Google Apps Script через эту форму Ресурсы по изучению Google Apps Script

Мероприятие

Описание

Таблицы. Как много в этом слове для современного человека полезной информации! Как много представлений всплывает в памяти! О, точно, может быть еще одну табличку завести?

Табличка, в которой есть вычисляемые формулы, называется программой или “табличным процессором” . Google предлагает свой табличный процессор Spreadsheets и формулы к нему, т.н. “Функции” .

Бывает так, что функций не хватает. Мы пытаемся надстроить одну на другую, заменить их, перемножить, перенести, соотнести, выбрать и многое другое. Иногда, проще написать скрипт. Типы таких скриптов называются “Spreadsheet Custom Functions” - “Собственные Функции Таблиц”. Поэтому 3 моих задачи на сегодня ниже. А чтобы было интереснее:

Что нужно знать?

Как запустить редактор скриптов?

Меню - Инструменты - Редактор скриптов.

Как запустить “Пользовательскую функцию” в Таблицах?

  1. Функция должна быть прописана в Редакторе скриптов именно той Таблицы, в которой мы запускаем функцию
  2. Функция должна быть публичной, т.е. начинаться с function myFunction ()
  3. Имя функции не должно заканчиваться символом ‘_’ (подчёркивание, по́дчерк, шифт минус)
  4. Введите следующий текст в Редактор скриптов “function myFunction()”
  5. Сохраните проект
  6. Пропишите функцию в ячейке Таблицы

Как отформатировать код?

Выделите весь код [CTRL]+[A] и нажмите [SHIFT]+[TAB]

Задача 1.1. Составить такую функцию, чтобы она проверяла правильность введенных данных

Документ с решением Задача 1.1 Пожалуйста, не запрашивайте доступ - делайте копию.

Задача 1.2. Составить аналог DAY(), MONTH(), YEAR(), который бы выражался одной функцией

Документ с решением Задача 1.2 Пожалуйста, не запрашивайте доступ - делайте копию.

Задача 1.3. Определить тип данных, которые переданы как параметр

Документ с решением Задача 1.3 Пожалуйста, не запрашивайте доступ - делайте копию.

Задача 1.4. Определить индекс крайнего заполненного столбца для строки

Доп. условие: Функция должна работать как для диапазона в одну строку, так и для нескольких строк.

Ссылки

Мероприятие

Описание

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

Что необходимо знать на этом этапе. Скорее всего важнейшим понятием является “Script Services”. Это сервисы, как я полагаю, которые были разработаны специально для Google Apps Script. Не будем углубляться в далекие дали и возьмем для примера “Mail Service”. Это сервис для отправки электронной почты. Внимание, это не GMAIL (у него есть свой метод отправки писем), хотя, ваши отправленные появятся у вас в ящике.

Немного сухой белиберды:

  • Mail Service имеет один класс MailApp .
  • Класс MailApp имеет 2 метода getRemainingDailyQuota(), sendEmail(). Да, конечно я наврал и методов больше, но мы тут делом занимаемся, а не воду толчем.

Тоже самое, но интереснее:

И так. 3 простых задачи на сегодня.

Что нужно знать?

Как запустить редактор скриптов?

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

Выбираем “Подключить другие приложения” внизу меню.

Выбираем “От Google” в меню фильтре окна приложений

Ищем и подключаем Google Apps Script

Чем эти скрипты отличаются от предыдущих (пользовательских)?

Основное их отличие в том, что они не привязаны к конкретному документу и находятся на вашем Диске как самостоятельные файлы. Функции из такого скрипта нельзя вызвать как “Пользовательские” в Таблице, без дополнительных манипуляций с самим проектом.

Разрешения на выполнение.

Особенностью запусков скриптов с сервисами Google Apps Services, Advanced Google Services, Script Services является их авторизация. Системе необходимо, чтобы пользователь подтвердил, что программа будет иметь доступ к определенным данным и действиям его аккаунта.

Mail Service, например, требует разрешение на отправку электронных писем. Интересным в данном случае является справка на эту тему.

Что в переводчике Google записано как:

Как писать код быстрее? Как понять, что я пишу код правильно?

Autocomplete suggestions или content assist . Не такая страшная штука, как написано. Я не знаю как это по-русски, поэтому будем считать “Завершением предложения” или “помощником по контенту” или “Автозавершение”. Вызывается опция из меню редактора скриптов - Правка - Автозавершение или CTRL+Space (что у людей пробелом зовется). Этот инструмент используется для раскрытия списка доступных методов, свойств и перечислений глобальных объектов доступных в текущем контексте. Нда…

А теперь тоже самое только проще.

Список глобальных объектов доступных в корне. Просто жмем CTRL+ПРОБЕЛ

Список методов объекта, появляется автоматически после введения ‘.’ или русской ‘ю’, но ‘ю’ нам ни к чему.

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

На примере ‘ю’ можно убедиться, что глобальные объекты не дадут вам подсказки, если во фразе есть ошибка.

Подсказка к Задаче 2.2

На будущее. Значения ячеек в Таблицах можно прочитать через диапазоны - Range , это такой класс в … . Если вы их “прочитаете” методом этого класса getValues() , то у вас получится массив (Object[][]) вида

Так вот, в задаче 2.2 мы будем использовать именно такой массив, это еще не Таблица, но уже, кое-что.

Триггеры

Триггеры позволяют запускать скрипты по расписанию. Например, когда настало время, или когда случилось какое-то событие, которое триггер может отследить. В задаче 2.3 рассмотрен триггер отправки письма каждый день.

Задача 2.1. Прислать себе простое письмо

Документ с решением Задача 2.1 Пожалуйста, не запрашивайте доступ - делайте копию.

Документ с решением Задача 2.2 Пожалуйста, не запрашивайте доступ - делайте копию.

Документ с решением Задача 2.3 Пожалуйста, не запрашивайте доступ - делайте копию.

Ссылки

Мероприятие

Описание

“Собственный сервис на сервере”. Хм… Звучит сложно и непонятно. Правда, все не так просто. Существует множество решений, которые можно было бы реализовать, запустив сервис на сервере. Это уже не просто кнопочки нажимать. Но если вы дошли до этого места, то вы точно справитесь. Типы таких скриптов называются “Web Apps” - “Приложения Веб”. Их отличает необходимость публикации перед запуском. Публикация для каждой версии своя. Но, если программа написана, выпущена версия, то все будет работать после публикации.

Что нужно знать

Варианты публикации

Чтобы опубликовать сервис в меню редактора скриптов необходимо выбрать пункт “Публикация” - “Развернуть как веб-приложение. ”. Данные ниже не являются точными и не претендуют на академичность. Если есть более точные определения, или вы нашли ошибку - напишите Обратная связь .

Далее необходимо создать хотя бы одну версию .

О т моего имени, Я

Хорошо. Теперь наш сервис будет запускаться от нашего имени и только для нас. Это безопасно для ваших файлов и данных, т.к. доступ получите только вы.

От имени пользователя, Я

Я не разобрался, где эту настройку можно применить. Есть идеи?

От имени пользователя, Все

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

От моего имени, Все

Сервис будет запущен от вашего имени. Доступ будет открыт для вашего Диска и других сервисов. Запускать могут пользователи Google или Google Apps. Например, вы написали приложение, которое трансформирует ВАШУ Таблицу и возвращает результат. Доступ к вашим данным ограничен запущенными сервисами. Пожалуй, один из самых распространенных методов.

От моего имени, Все и Анонимы

Сервис будет запущен от вашего имени. Доступ будет открыт для вашего Диска и других сервисов. Запускать могут любые пользователи. Например, вы написали приложение, которое трансформирует ВАШУ Таблицу и возвращает результат. Доступ к вашим данным ограничен запущенными сервисами. Пожалуй, один из самых распространенных методов.

О версиях

Новые версии приложения создаются в меню “Файл” - “Версии”

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

Режимы запуска

Различают 2 режима запуска:

  1. dev - режим разработчика, при нем доступна последняя сохраненная редакция файла, даже если версия не создана
  2. exec - основной режим запуска, при нем доступна только та версия , которая указана при публикации

Примеры запуска в режимах

Когда вы запустили “Публикацию приложения” и нажали “развернуть”, появляется окно

где “Текущий URL веб-приложения” - это режим exec, его отличает слово exec в строке адреса

а “Протестируйте последнюю версию кода для веб-приложения” - это ссылка на режим разработчика

Заметьте, что адреса разные, т.е. переключить режимы сменой ключевых слов не получится.

Точки входа

Получение параметров из методов

Пожалуйста, если этот пункт требует пояснения, сообщите об этом в Обратная связь .

Сервис Script Services - HTML Service

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

Наше приложение получает вызов doGet, возвращая при этом HtmlOutput класс сервиса HTML Service .

Другими словами - страницу html.

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

Пожалуйста, если этот пункт требует пояснения, сообщите об этом в Обратная связь .

Примечание к Задачам 3

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

Если вы будете вносить изменения в код, не забудьте создавать новые версии и заново публиковать сервис с новой версией.

Документ с решением Задача 3.1 Пожалуйста, не запрашивайте доступ - делайте копию.

Задача 3.2. Добавить возможность чтения параметров из URL

Документ с решением Задача 3.2 Пожалуйста, не запрашивайте доступ - делайте копию.

А вы слыхали про гугл скрипты (Apps Script)? Нет?

Ну, как же так получилось? Ай-яй-яй!

Такая полезная вещь, а о ней в курсе лишь узкий круг специалистов. А зря!

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

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

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

Стоит немного вникнуть в кухню сервисов гугл, как, прям таки, перехватывает дыхание от открывающихся перспектив!

Но не будем забегать вперед.

Для начала необходимо разобраться что это такое и что с этим делать.

G-Apps-Script | Фото - Сервисы Google

Конечно, не совсем корректно сравнивать сравнвать GAS и VBA.

Вот что об этом говорит один из ведущих специалистов по сервисам google в русскоязычном интернете, Александр Иванов.

Консультант по Google Apps Script

Ознакомится с более подробным сравнением, которое Александр любезно составил специально для нас с вами, можно по этой ссылке.

Конечно, у многих, кто пытался с ходу освоить использование макросов могли остаться не слишком приятные воспоминания, однако не стоит сразу морщиться!

Фактически это язык сценариев на базе JavaScript (стандарта ECMAScript 5), придуманный специально для того чтобы существенно упростить разработку приложений на основе Google Apps.

Сервисы гугл

(которые мы будем рассматирвать, писать для них сценарии на gas):

и многие другие, список приложений постоянно растет (тут можно посмотреть весь список продуктов google).

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

Кроме того, для начала работы не требуется ничего устанавливать, Google уже обо всем позаботился.

Есть готовый редактор со всем необходимым функционалом (фото ниже).

К плюсам также можно причислить

Создание скрипта через панель инструментов Script Script

G-Apps-Script | Фото - Панель инструментов Google Script

В левом боковом меню, кликните на кнопку + Создать скрипт.

G-Apps-Script | Фото - Создать сценарий

Перед вами окно редактора гугл скриптов:

G-Apps-Script | Фото - Окно редактора Google Сценариев

К слову, это не единственный способ его запуска.

Можно пойти и другим путем.

Создание скрипта через Google Диск

Сперва, заходим на Google Диск.

G-Apps-Script | Фото - Google Диск

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

G-Apps-Script | Фото - Google Диск, подключить другие приложения

G-Apps-Script | Фото - Google Диск, подключить приложение Google Apps script

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

G-Apps-Script | Фото - Google Диск, подключить приложение Google Apps script

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

G-Apps-Script | Фото - Google Диск, создание файла для сценария

Создание скрипта через файл-контейнер

Кроме того существует еще один способ создать файл для сценария.

Это создание файла-сценария внутри файла-контейнера (например внутри таблицы, документа, слайда или формы, условно внутри).

Но этот способ мы разберем в следующих статьях.

Первый скрипт

Создаем свой первый скрипт.

Не ходить, а просто отдаться в руки автора (т.е. в мои)) ) и читать дальше…

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

Не спешите смазывать лыжи! Это действительно просто, если, конечно, знать что делать.

G-Apps-Script | Фото - Не спешите смазывать лыжи!

Для начала меняем название функции с myFunction на firstTest.

Далее пишем вот такую аБрА-КадабРу :

Давайте распишем тот же пример более подробно и разберем каждую строку

Строка 1. Директива function создает новую функцию, далее указываем ее название firstTest.

Затем в круглых скобках () указываем параметры которые хотим передать в функцию (в нашем случае мы ничего не указываем, так как ничего не передаем).

А в фигурных скобках <> указывается код который выполняется когда эта функция будт вызвана.

Если поставить два слеша //, то код после них и до конца строки выполнятся не будет.

Это называется комментарий.

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

Строки 2-4. Объявляем переменные с помощью директивы var.

(коды языков можно подсмотреть здесь)

Строки 6-10. Обращаемся к объекту LanguageApp, а точнее к методу этого объекта translate, который принимает три параметра (их мы уже описали выше в строках 2-4).

Если некоторые термины вам непонятны и/или у вас нет базовых знаний JavaScript или другого языка, не расстраивайтесь!

В конце статьи я дам ссылку на простой учебник по JS.

Результат

К слову, данный способ ( Logger.log(); ) в будущем не раз пригодится для отладки ваших сценариев, т.е. поиска и устранения ошибок, закравшихся в ваш сценарий.

Продолжим, наша программа написана, теперь сохраним ее нажав на эту кнопку (иконка дискеты)

G-Apps-Script | Фото - Сохранение программы

К вам тут же выскочит окошко.

В нем вводим название проекта в поле Укажите новое название проекта, пусть будет Привет мир!. Затем жмем на кнопку ok

G-Apps-Script | Фото - Окно "Изменение названия проекта

Теперь запустим ее, сначала выбрав нужную функцию а затем нажав на вот тут (иконка треугольник)

G-Apps-Script | Фото - Запуск программы

И наконец, идем во вкладку Вид > Журналы или просто нажимаем Ctrl+Enter (горячии клавиши полезная штука).

G-Apps-Script | Фото - Результат работы скрипта

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

а красным наше содержимое переменной text.

Задача выполнена!

Овации! Чувствуете гордость? Совершенно заслуженно.

G-Apps-Script | Фото - Овации!

Мы с вами сделали первый шаг к освоению замечательного инструмента.

Согласитесь, без ложной скромности, что это было не так уж и сложно.

Остались вопросы?

Вы всегда можете задать их в комментариях к данному посту.

Да и поэкспериментируйте с кодом, а потом покажите нам его в комментариях.

Итоги

А теперь, коротко, подведем итоги:

Надеюсь мне удалось донести мысль, что Google Apps Script удивительно полезный инструмент, на изучение которого стоит потратить время.

А дальше больше!

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

То бишь, все эти кнопочки, вкладочки и т.п.

Сделав первый шаг к цели, не стоит останавливаться. Как гласит древняя мудрость:

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

С помощью скриптов Google Sheets вы можете автоматизировать многие вещи и даже создавать новые функции, которые, по вашему желанию, существовали.

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

Что такое скрипт Google Apps (GAS)?

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

Этот язык кодирования Google Apps Script (GAS) использует Javascript и написан в серверной части этих Гугл Таблиц (есть аккуратный интерфейс, который позволяет вам писать или копировать / вставлять код в серверной части).

Поскольку Гугл Таблицы (и другие Google Apps) являются облачными (т. Е. Могут быть доступны из любого места), ваш скрипт Google Apps также является облачным. Это означает, что если вы создадите код для документа Google Sheets и сохраните его, вы сможете получить к нему доступ из любого места. Он находится не на вашем ноутбуке / системе, а на облачных серверах Google.

Что делает скрипт Google Apps полезным?

Есть много веских причин, по которым вы можете захотеть использовать скрипты Google Apps в Google Таблицах:

Позволяет автоматизировать работу

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

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

И это то, что вы можете делать с помощью скрипта Google Apps.

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

Может создавать новые функции в Google Таблицах

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

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

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

Может взаимодействовать с другими приложениями Google

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

Например, если у вас есть 10 документов Google Таблиц на вашем Google Диске, вы можете использовать GA, чтобы объединить все это, а затем удалить все эти документы Google Sheets.

Это возможно, потому что вы можете использовать GAS для работы с несколькими Google Apps.

Другим полезным примером этого может быть использование данных в Гугл-таблицах для быстрого планирования напоминаний в вашем Календаре Google. Поскольку оба этих приложения используют GAS, это возможно.

Расширьте функциональные возможности Google Таблиц

Помимо автоматизации вещей и создания функций, вы также можете использовать GAS для улучшения функциональности Google Таблиц.

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

Начало работы с редактором скриптов Google Таблиц

Анатомия редактора скриптов Google Таблиц

В Google Таблицах вы можете найти редактор скриптов на вкладке «Инструменты».


После того, как вы нажмете на опцию «Редактор скриптов», откроется редактор скриптов в новом окне (как показано ниже).


Вы можете изменить имя проекта, щелкнув в верхней левой части экрана с надписью «Проект без названия». Когда вы щелкаете по нему, откроется диалоговое окно, в котором вы можете ввести название проекта. Изменение имени займет несколько секунд.


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


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


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

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


Панель инструментов редактора скриптов


Панель инструментов редактора скриптов имеет следующие параметры:

Параметры меню редактора скриптов

Помимо панели инструментов, есть много других опций, доступных в Google Apps Script в Google Таблицах.

Хотя наиболее часто используемые параметры уже являются частью панели инструментов, в меню есть еще несколько параметров, которые могут вам понадобиться, когда вы начнете работать с GAS.

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

В этой статье я рассмотрел основы скрипта Google Apps и общую анатомию интерфейса.

Favorite

В закладки

Чем полезен Google Apps Script. Настрой рассылку, сверстай журнал и не только

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

Для меня Google Apps Script — быстрые деньги, секретный трюк таймменджмента и одно из немногих развлечений, ради которых я готова бесплатно сидеть за компом.

В англоязычном интернет пространстве он довольно популярен: 12266 вопросов на StackOverlow. Но в России абсолютное большинство людей не знает о существовании GAS, либо их знания крайне поверхностны. На Хабре всего лишь 13 очень узкоспециальных публикаций с тегом Google Apps Script, а на русскоязычном StackOverflow только 23 вопроса по этой теме.

Я считаю, что это неправильно и ситуацию надо исправлять. Каждый человек должен иметь общее представление о возможностях Google Apps Script и быть морально готовым его использовать. Очень многим людям Google Apps Script может быть полезен. Если не в данный момент, то в обозримом будущем.

Эта статья расскажет вам о том, на что способен Google Apps Script. Надеюсь, что после ее прочтения вы осознаете магическую мощь этого языка и, если не начнете пользоваться им (большинству он нужен n-раз в год, не более), то хотя бы при случае порекомендуете своим знакомым.

С какими сервисами работает Google Apps Script?

google_apps_script_apps


На данный момент у языка есть классы и методы для работы со следующими сервисами (для каждого в скобках даны несколько из возможных примеров использования):

  • Таблицы (обработка и экспорт данных в таблицах, создание пользовательских функций);
  • Документы (создание документов, заполнение их информацией, изменение внешнего вида);
  • Формы (генерация форм на основе электронных таблиц);
  • Сайты (резервное копирование сайтов, создание новых страниц, сбор информации о комментариях и их редактирование);
  • Диск (получение списка файлов на диске и информации о них, создание новых файлов, переименование файлов и распределение по папкам, загрузка на диск новых файлов из интернета);
  • Gmail (автоответы, наведение порядка в почтовом ящике, групповые рассылки);
  • Календарь (просмотр ближайших событий, создание новых напоминаний, отправка приглашений);
  • Контакты (отбор контактов по определенному фильтру, извлечение из них телефонов, email-адресов и прочей информации);
  • Карты (создание карт, добавление на них элементов, определение адрес по координатам и наоборот);
  • Группы (получение списка групп в которых состоит человек с определенным email-адресом, получение списка пользователей конкретной группы);
  • Переводчик (перевод текста с одного языка на другой).

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

Это совсем не сложно

start_script_editor


В комментариях иногда пишут: «Я не хочу пользоваться Google Apps Script, так как не хочу заморачиваться с программированием». Но чтобы создавать автоматизации с помощью этого инструмента, практически не требуется умственного напряжения.

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

Их можно копировать, комбинировать между собой, редактировать и получать в итоге успешно работающие автоматизации. И это очень быстрый процесс. Попробуйте и у вас все получится! Открываете любое из вышеперечисленных приложений, идете в пункт меню Инструменты -> Редактор скриптов и вперед!

И полезно владельцам iPhone

«Офтоп, опять офтоп» — думает кто-то из читателей. Но тема Google Apps Script очень актуальна для пользователей iOS-устройств. Во-первых, у Google есть множество полезных приложений для iPhone/iPad, которые основаны на сервисах, поддерживающих GAS:

А во-вторых, можно настроить запуск автоматизаций для сервисов Google после выполнения определенных действий на iPhone: создания фотографии или контакта, изменения местоположения, включения страницы в список для чтения. Это возможно благодаря рецептам IFTTT.

IFTTT

ifttt_for_google

IFTTT помогает подружить сервисы Google (внося записи об определенных действиях на диск) с iPhone, Android, термостатом Nest, лампочкой Lifx, кондиционером, «умной» копилкой, фитнесс-браслетом и десятками других гаджетов. А также с социальными сетями, платформами для ведения блогов, rss-каналами, облачным хранилищем и еще кучей других сервисов.

Для людей с фантазией это открывает огромный простор для творчества и улучшения своей жизни.

Триггеры и расписание

gas_triggers


Если вы не читали предыдущие статьи про Google Apps Script, то у вас может возникнуть вопрос: каким образом новый файл на диске/строка в электронной таблице, которую добавляет IFTTT, может послужить толчком к выполнению автоматизации?

Если в редакторе скриптов открыть пункт меню Ресуры -> Триггеры текущего проекта, то можно настроить выполнение программ по времени:

  • В конкретный день и час;
  • Каждую неделю/день/месяц;
  • Каждые n минут/часов/дней.

Или при совершении следующих событий:

  • Открытие документа;
  • Изменение документа (которое может производится с помощью IFTTT);
  • Установка дополнения;
  • Отправка запроса от веб-приложения (об этом ниже).

Веб-приложения

Парсинг сайтов и REST API

Для чего я сама использую Google Apps Script

scanmail


Когда я работала в ][, то у нас была старая тормознутая система для сведения бумажного номера, написанная на Delphi в лохматом году. Чтобы было удобнее, я сделала аналог в Google Документе. На GAS написаны функции для окраски строк в зависимости от этапа, на котором находится материал, нумерации страниц, подсчета незаполненных полос и генерации отчета о количестве материалов, которые находятся на каждом этапе (почти два десятка функций). Пожалуй, это самый масштабный пример личного использования GAS.

Если мне нужно спарсить несколько веб-страниц (не 2000, а 10-100), то я создаю Google Таблицу и открываю редактор скриптов. Это гораздо более быстрый и комфортный способ (для небольших объемов), чем использование curl (прежде всего из-за наглядности). Очень удобно, когда результаты парсинга можно сразу посмотреть в таблице и обернуть их в html-код. Чуть выше я приводила пример, как это может пригодиться автором статей про iOS-приложения.

Плюс еще целый ряд мелких одноразовых задач (в основном связанных с выгрузкой данных из почты/диска и работой с таблицами) были успешно решены с помощью GAS. Этот инструмент как швейцарский нож, который не надо носить с собой, так как он всегда на месте.

Но гораздо больше пользы с помощью Goole Apps Script я принесла не самой себе, а заказчикам скриптов (владельцам очень малого бизнеса), которым они были нужны, чаще всего, для обработки данных в таблицах или автоматизации продаж/оповещений клиентов.

Материалы про Google Apps Script

(5 голосов, общий рейтинг: 5.00 из 5)

Favorite

В закладки

Читайте также: