Как повысить эффективность Google Apps с помощью редактора сценариев

Если вы используете 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 Apps с помощью редактора сценариев

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

Как повысить эффективность Google Apps с помощью редактора сценариев

Примечание: Для работы этого сценария необходимо войти в свой аккаунт 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 Apps с помощью редактора сценариев

Переименуйте проект так, чтобы вы могли запомнить, что делает скрипт, а затем нажмите «ОК».

Как повысить эффективность Google Apps с помощью редактора сценариев

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

Как повысить эффективность Google Apps с помощью редактора сценариев

После первого нажатия кнопки «Запустить» вам придется предоставить скрипту некоторые разрешения на доступ к вашему аккаунту Google через всплывающее окно. Нажмите «Обзор разрешений», чтобы увидеть, к чему нужно получить доступ.

Как повысить эффективность Google Apps с помощью редактора сценариев

Поскольку это не проверенное Google приложение, вы получите еще одно предупреждение. В нем говорится, что, если вы не знаете разработчика (нас), действуйте, только если вы ему доверяете. Нажмите «Дополнительно», затем нажмите «Перейти к CreateNewDoc» (или как вы назвали этот скрипт).

Как повысить эффективность Google Apps с помощью редактора сценариев

Просмотрите разрешения, которые требует сценарий, затем нажмите «Разрешить».

Как повысить эффективность Google Apps с помощью редактора сценариев

Отлично! Теперь перейдите на свой диск, и если все получилось, файл «Hello, World!» должен быть там. Дважды щелкните по нему, чтобы открыть его.

Как повысить эффективность Google Apps с помощью редактора сценариев

Когда вы откроете файл, вы увидите строку текста из кода, добавленного в ваш документ.

Как повысить эффективность Google Apps с помощью редактора сценариев

Теперь, если вы хотите получить уведомление по электронной почте о создании документа, вы можете добавить еще несколько строк кода, чтобы автоматически отправить его на ваш аккаунт 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)

Нажмите на значок «Выполнить».

Как повысить эффективность Google Apps с помощью редактора сценариев

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

Как повысить эффективность Google Apps с помощью редактора сценариев

Нажмите «Дополнительно», затем нажмите «Перейти к CreateNewDoc».

Как повысить эффективность Google Apps с помощью редактора сценариев

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

Просмотрите новый набор разрешений, который требует сценарий, затем нажмите «Разрешить».

Как повысить эффективность Google Apps с помощью редактора сценариев

Когда документ будет создан, вы получите электронное письмо со ссылкой на файл в вашем Google Диске.

Как повысить эффективность Google Apps с помощью редактора сценариев

Щелкнув ссылку, вы перейдете непосредственно к файлу, который находится в вашем Google Диске.

Как повысить эффективность Google Apps с помощью редактора сценариев

Как создать связанный сценарий

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

Если вы помните, связанные сценарии работают как дополнения к определенным файлам, поэтому для их создания откроем существующую таблицу Google Sheet, которая содержит хотя бы одну дублирующуюся точку данных.

Как повысить эффективность Google Apps с помощью редактора сценариев

Щелкните «Инструменты», затем щелкните «Редактор сценариев».

Как повысить эффективность Google Apps с помощью редактора сценариев

Google Apps Script откроется на новой вкладке с пустым сценарием. Однако на этот раз сценарий привязан к листу, с которого он открывается.

Как повысить эффективность Google Apps с помощью редактора сценариев

Как и раньше, удалите пустую функцию и вставьте следующий код:

//Удаляет дубликаты строк с текущего листа. 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».

Как повысить эффективность Google Apps с помощью редактора сценариев

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

Как повысить эффективность Google Apps с помощью редактора сценариев

Примите подсказки и нажмите «Разрешить» для авторизации скрипта.

Как повысить эффективность Google Apps с помощью редактора сценариев

После завершения его работы вернитесь в таблицу

Как повысить эффективность Google Apps с помощью редактора сценариев

Алекс Бежбакин
Оцените автора
Добавить комментарий