Google Apps Script

Automating Google Forms & Sheets using Apps Script | by Varun Joshi |  codeburst
Scripting Icon Animated | Minimal logo design, Script, Icon

Cамые полезные функции


Функция 1: “Создание Сайдбара”

  • Сайдбар – (боковая панель) это графический элемент управления, который отображает различные виды информации справа или слева от окна приложения или рабочего стола операционной системы.
  1. Сам скрипт выглядит так:
// Открытие сайдбара
function showSidebar() {
 
  var htmlOutput = HtmlService
    .createHtmlOutput('<p>К чаепитию взять хорошее настроение! (и печеньки)</p>')
    .setTitle('Мои заметки:');
 
  SpreadsheetApp.getUi().showSidebar(htmlOutput);
 
}
  • Заметки:
  1. function showSidebar() – заданное имя для самой функции;
  2. setTitle (‘Мои заметки:‘); – заданный заголовок Сайдбара;
  3. .createHtmlOutput(‘<p>К чаепитию взять хорошее настроение! (и печеньки)</p>’) – содержание Сайдбара. N.B.: Тег <p> является блочным элементом, всегда начинается с новой строки, абзацы текста идущие друг за другом разделяются между собой отбивкой. Простыми словами это текстовый абзац.

Функция 2: “Переводчик”

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

  • Скрипт:
  • // Функция onEdit - является триггером, который срабатывает при завершении ввода данных в ячейку Таблицы пользователем
    function onEdit(e) {
    Logger.log(e);
     
    // Получаем диапазон ячеек, в которых произошли изменения
    var range = e.range;
     
    // Лист, на котором производились изменения
    var sheet = range.getSheet();
     
    // Проверяем, нужный ли это нам лист
    Logger.log(sheet.getName());
    if (sheet.getName() != 'Перевод текста') {
      return false;
    }
     
    // Переводить необходимо текст, введённый только в первую колонку.
    // Проверяем стартовую позицию диапазона
    Logger.log(range.getColumn());
    if  (range.getColumn() != 1) {
      return false;
    }
     
    for (var i = 1; i <= range.getNumRows(); i++) {
      var cell = range.getCell(
        i, // номер строки
        1 // номер колонки
      );
     
    // Получаем текст на русском
      var russianText = cell.getValue();
     
    // Переводим текст на английский
      var translatedText = LanguageApp.translate(
        russianText, // текст
        'ru', // с какого языка переводим
        'en' // на какой язык переводим
      );
     
    // Вставляем переведённый текст во вторую колонку
      sheet.getRange(
        cell.getRowIndex(), // номер строки
        2 // номер столбца
      ).setValue(translatedText);
    
    // Переводим текст на эстонский
      var translatedText = LanguageApp.translate(
        russianText, // текст
        'ru', // с какого языка переводим
        'et' // на какой язык переводим
      );
     
    // Вставляем переведённый текст в третью колонку
      sheet.getRange(
        cell.getRowIndex(),
        3 // номер столбца
      ).setValue(translatedText);
    }
    }

  • Заметки:
    1. N.B.!!!: Для работы самой функции обязательно убедитесь в том, что название листа в самом коде совпадают. Пример в коде выделен красным:
    // Проверяем, нужный ли это нам лист
    Logger.log(sheet.getName());
    if (sheet.getName() != 'Перевод текста') {
      return false;
    }
    Design a site like this with WordPress.com
    Alustamine