Если вы используете Google Apps, то, скорее всего, вы не используете их в полной мере. С помощью Google Apps Script можно добавлять пользовательские меню и диалоги, писать пользовательские функции и макросы, а также создавать надстройки для расширения Google Docs, Sheets и Slides.
Что такое Google Apps Script?
Google Apps Script — это облачная платформа разработки для создания пользовательских, легких веб-приложений. Вы можете создавать масштабируемые приложения прямо в браузере, которые легко интегрируются с продуктами Google.
Apps Script использует язык JavaScript и объединяет в себе привычные возможности веб-разработки и продуктов Google в одном месте, что делает его идеальным инструментом для создания приложений для вашего бизнеса, организации или просто для автоматизации рутинных задач.
С помощью Google Apps Script можно создавать два типа сценариев:
- Автономные: Эти сценарии не привязаны к какой-либо службе, как, например, Google Docs, Sheets или Slides. Они могут выполнять общесистемные функции, наподобие макросов. Они не идеальны для распространения среди широкой аудитории, поскольку для их использования необходимо скопировать и вставить код. В качестве примера можно привести поиск файлов с определенными именами на Диске или просмотр того, кто имеет доступ к общим файлам и папкам на Диске.
- Связанные: Они связаны с файлом Google Docs, Sheets, Forms или Slides. Связанные сценарии расширяют функциональность файла и выполняют действия только в этом конкретном файле. Примером может служить добавление пользовательских меню, диалоговых окон и боковых панелей в службу или сценарий, который отправляет уведомления по электронной почте при изменении определенной ячейки в листе.
Если вы плохо знаете JavaScript или, возможно, никогда о нем не слышали, пусть это не отпугнет вас от разработки собственного сценария. Начать работу с Apps Script очень просто, поскольку он содержит множество документации и примеров, которые вы можете опробовать самостоятельно. Ниже приведена пара простых примеров, которые помогут вам получить представление о том, как они работают.
Как создать отдельный сценарий
Теперь, когда вы знаете, что это такое, давайте приступим к созданию вашего первого отдельного сценария. Мы будем использовать пример кода от Google, чтобы помочь нам начать работу, и дадим пояснения к строкам кода, если вы не знакомы с GoogleScript или JavaScript.
Перейдите на сайт Google Apps Script. В левом верхнем углу нажмите на значок гамбургера, затем нажмите «Новый сценарий».
Откроется новый проект без названия с пустой функцией внутри, но поскольку мы используем пример кода от Google, вы можете удалить весь текст в файле.
Примечание: Для работы этого сценария необходимо войти в свой аккаунт Google.
После удаления кода, предварительно загруженного в файл, вставьте следующий код:
//Инициализация вашей функции function createADocument() < // Create a new Google Doc named 'Hello, world!' var doc = DocumentApp.create('Hello, world!') // Access the body of the document, then add a paragraph. doc.getBody().appendParagraph('This document was created by Google Apps Script.') >
Прежде чем запустить код, необходимо сохранить скрипт. Нажмите «Файл», а затем нажмите «Сохранить».
Переименуйте проект так, чтобы вы могли запомнить, что делает скрипт, а затем нажмите «ОК».
Чтобы запустить ваш код, нажмите на значок воспроизведения, расположенный на панели инструментов.
После первого нажатия кнопки «Запустить» вам придется предоставить скрипту некоторые разрешения на доступ к вашему аккаунту Google через всплывающее окно. Нажмите «Обзор разрешений», чтобы увидеть, к чему нужно получить доступ.
Поскольку это не проверенное Google приложение, вы получите еще одно предупреждение. В нем говорится, что, если вы не знаете разработчика (нас), действуйте, только если вы ему доверяете. Нажмите «Дополнительно», затем нажмите «Перейти к CreateNewDoc» (или как вы назвали этот скрипт).
Просмотрите разрешения, которые требует сценарий, затем нажмите «Разрешить».
Отлично! Теперь перейдите на свой диск, и если все получилось, файл «Hello, World!» должен быть там. Дважды щелкните по нему, чтобы открыть его.
Когда вы откроете файл, вы увидите строку текста из кода, добавленного в ваш документ.
Теперь, если вы хотите получить уведомление по электронной почте о создании документа, вы можете добавить еще несколько строк кода, чтобы автоматически отправить его на ваш аккаунт Google. Добавьте следующие строки кода после doc.getBody().appendParagraph(‘Этот документ был создан с помощью Google Apps Script.’), но перед последней фигурной скобкой > :
// Получите URL документа. var url = doc.getUrl() // Получите адрес электронной почты активного пользователя - это вы. var email = Session.getActiveUser().getEmail() // Получите название документа для использования в качестве темы письма. var subject = doc.getName() // Добавьте новую строку к переменной "url" для использования в качестве тела письма. var body = 'Ссылка на ваш документ: ' + url // Отправьте себе письмо со ссылкой на документ. GmailApp.sendEmail(email, subject, body)
Нажмите на значок «Выполнить».
Поскольку вы добавили пару дополнительных строк, требующих дополнительных разрешений, вам придется пройти через тот же процесс, что и раньше. Нажмите «Обзор разрешений».
Нажмите «Дополнительно», затем нажмите «Перейти к CreateNewDoc».
Примечание: Поскольку Google предупреждает вас о запуске непроверенных приложений, вы также получите письмо с предупреждением о безопасности. Google делает это на случай, если не вы предоставили доступ к непроверенному приложению.
Просмотрите новый набор разрешений, который требует сценарий, затем нажмите «Разрешить».
Когда документ будет создан, вы получите электронное письмо со ссылкой на файл в вашем Google Диске.
Щелкнув ссылку, вы перейдете непосредственно к файлу, который находится в вашем Google Диске.
Как создать связанный сценарий
В следующем примере давайте создадим связанный сценарий для Google Sheets, который будет анализировать существующий лист на наличие дубликатов записей в строке и затем удалять их.
Если вы помните, связанные сценарии работают как дополнения к определенным файлам, поэтому для их создания откроем существующую таблицу Google Sheet, которая содержит хотя бы одну дублирующуюся точку данных.
Щелкните «Инструменты», затем щелкните «Редактор сценариев».
Google Apps Script откроется на новой вкладке с пустым сценарием. Однако на этот раз сценарий привязан к листу, с которого он открывается.
Как и раньше, удалите пустую функцию и вставьте следующий код:
//Удаляет дубликаты строк с текущего листа. function removeDuplicates() < //Get current active Spreadsheet var sheet = SpreadsheetApp.getActiveSheet() //Get all values from the spreadsheet's rows var data = sheet.getDataRange().getValues() //Create an array for non-duplicates var newData = [] //Iterate through a row's cells for (var i in data) < var row = data[i] var duplicate = false for (var j in newData) < if (row.join() == newData[j].join()) < duplicate = true >> //Если не дубликат, помещаем в массив newData if (!duplicate) < newData.push(row) >> //Delete the old Sheet and insert the newData array sheet.clearContents() sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData) >
Примечание: Чтобы скрипт удалил дубликат, все ячейки в строке должны совпадать.
Сохраните и переименуйте свой скрипт, затем нажмите на иконку «Run».
Опять же, как и в предыдущем созданном сценарии, вам нужно будет просмотреть разрешения, которые требует ваш сценарий, и предоставить ему доступ к вашей электронной таблице. Нажмите «Обзор разрешений», чтобы увидеть, какой доступ требуется этому сценарию.
Примите подсказки и нажмите «Разрешить» для авторизации скрипта.
После завершения его работы вернитесь в таблицу