• Главная
  • Реклама
  • Карта сайта
  • Контакты
Мы вконтакте
1
OSApple
  • НовостиApple
  • iPhoneios, об айфоне
  • Mac OS XMac & MacBook
  • iPadВсе о планшете
  • ИгрыiOS, Mac OS X
    • Игры iOS (iPhone/iPad/iPod)
    • Игры Mac OS X
  • ПриложенияiOS, Mac OS X
    • Приложения iOS (iPhone/iPad/iPod)
    • Программы Mac OS X
  • СоветыИнструкции
OsApple.ru » Инструкции » Автоматизируем Google Документы на Google Apps Script

Автоматизируем Google Документы на Google Apps Script

75b5d63dbd12a2e00c9e3afeb507505e

Автоматизируем Google Документы на Google Apps Script

Dev Автоматизируем Google Документы на Google Apps Script

3 примера кода, которые стоит сохранить на будущее.

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

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

Попробовать рецепты из статьи очень просто:

  • Заходим на docs.google.com и авторизируемся;
  • Создаем новую электронную таблицу;
  • Открываем Инструменты -> Редактор скриптов;
  • Вбиваем в окошко код из примеров и вносим свои правки;
  • Нажимаем на кнопку Запустить и даем скрипту все разрешения, которые он попросит.
  • Предположим, нам нужно составить отчет о тратах на коммунальные услуги в течение трех лет. У нас есть стопка квитанций и данные из них мы хотим занести в электронные таблицы на Google Sheet. Для каждого года нужно создать отдельный файл с 12 листами-месяцами. На каждом листе сделать шаблон для записи значений и добавить немного дизайна. А когда все данные будут внесены, построить график для их визуализации.

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

    Генерация документов

    Создадим документы «Коммунальные счета 2012», «Коммунальные счета 2013» и «Коммунальные счета 2014». В каждом документе сделаем листы с названиями месяцев, на каждом листе в первом столбце запишем виды коммунальных услуг.

    function createTables() {
    years=["2012","2013","2014"];
    months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
    services = ["Газ", "Свет", "Вода", "Квартплата", "Телефон", "Интернет", "Охрана"];
    for (j=0;j<=years.length-1;j++)
    {
    tableDoc = SpreadsheetApp.create("Коммунальные счета " + years[j]);
    for (i=0;i<=months.length-1;i++)
    {
    if (i==0)
    {
    currentSheet = tableDoc.getActiveSheet();
    currentSheet.setName(months[i]);
    }
    else
    {
    currentSheet = tableDoc.INSERT IGNORESheet();
    currentSheet.setName(months[i]);
    }
    for (z=0;z<=services.length-1;z++)
    {
    row=z+1;
    currentSheet.getRange(‘A’ + row ).setValue(services[z]);
    }
    }
    }
    }

    Выполнение скрипта может занять пару минут, наберитесь немного терпения.

    Редактирование файлов

    Создавать файлы мы научились, а теперь разберемся как открывать их и редактировать. Нам нужно на всех листах файла «Коммунальные счета 2014» покрасить заполненные ячейки первого столбца в голубой цвет и сделать так, чтобы в первой незаполненной его ячейке было слово «Итого», а ячейке справа от него формула для вычисления этого значения.

    Перед выполнением скрипта нам нужно открыть Google Drive и выяснить ID нужного нам документа.

    function editTables() {
    months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
    services = ["Газ", "Свет", "Вода", "Квартплата", "Телефон", "Интернет", "Охрана"];
    tableDoc = SpreadsheetApp.openById("1RzIv25ZnSEUI3cyu-h-x0JKnkScPEA5WwiEDqX-stEE");
    for (i=0;i<=months.length-1;i++)
    {
    if (i==0)
    {
    currentSheet = tableDoc.getActiveSheet();
    }
    else
    {
    currentSheet = tableDoc.getSheetByName(months[i]);
    }
    for (z=0;z<=services.length;z++)
    {
    row =z+1;
    currentSheet.getRange("A"+row).setBackground("#75aad8");
    }
    lastRow = services.length+2;
    currentSheet.getRange("A" + lastRow).setValue("Итого:");
    currentSheet.getRange("B" + lastRow).setValue("=sum(b1:b"+(services.length+1)+")");
    }
    }

    Автоматизируем Google Документы на Google Apps Script
    Построение графиков

    А теперь создадим в документе «Коммунальные счета 2012» еще один новый лист и построим на нем диаграмму для визуального сравнения итоговых счетов по месяцам.

    function INSERT IGNOREChart() {
    months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
    services = ["Газ", "Свет", "Вода", "Квартплата", "Телефон", "Интернет", "Охрана"];
    tableDoc = SpreadsheetApp.openById("1RzIv25ZnSEUI3cyu-h-x0JKnkScPEA5WwiEDqX-stEE");
    endSums = new Array();
    for (i=0;i<=months.length-1;i++)
    {
    if (i==0)
    {
    currentSheet = tableDoc.getActiveSheet();
    }
    else
    {
    currentSheet = tableDoc.getSheetByName(months[i]);
    }
    lastRow = services.length+2;
    endSums[i] = currentSheet.getRange("B" + lastRow).getValue();
    }
    sheetIndex = months.length + 1;
    currentSheet = tableDoc.INSERT IGNORESheet(sheetIndex);
    currentSheet.setName("Итоги года");
    for (z=0;z<=months.length-1;z++)
    {
    row = z+1;
    currentSheet.getRange("A" + row).setValue(months[z]);
    currentSheet.getRange("B" + row).setValue(endSums[z]);
    }
    var chart = currentSheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(currentSheet.getRange("A1:B" + months.length))
    .setPosition(1, 3, 0, 0)
    .setOption("title", "Расход за год")
    .build();
    currentSheet.INSERT IGNOREChart(chart);
    }

    Автоматизируем Google Документы на Google Apps Script

    В строке «.setChartType(Charts.ChartType.BAR)» мы указали тип графика. В Google Docs есть и другие типы графиков:

    • AREA;
    • COLUMN;
    • LINE;
    • PIE;
    • SCATTER;
    • TABLE.

    Как выглядит каждый тип графика можно посмотреть, заменив слова BAR на одно из вышеперечисленных в последнем примере.

     

      • 4 лайфхака Gmail и Google Apps Script
      • Google Apps Script для Docs в примерах
      • Планируем жизнь с Google Calendar и Google Apps Script
      • Простые автоматизации для Google Drive

      Источник: Iphones.ru

      Дек 10, 2015Аля Бишопова
      • Нажмите, чтобы поделиться в Google+ (Открывается в новом окне)
      • Поделиться на Facebook (Открывается в новом окне)
      • Нажмите, чтобы поделиться на Twitter (Открывается в новом окне)
      • Нажмите, чтобы поделиться в Вконтакте (Открывается в новом окне)
      • Нажмите, чтобы поделиться записями на Pinterest (Открывается в новом окне)
    Мощный недорогой маршрутизатор TP-LINK Archer C2Mad Aces — за дело берутся безбашенные асы
    Читайте также:
     
    Почему нужно обновляться на OS X El Capitan
     
    Колонка Philips BT6000B/12. Классный звук дома и на улице

    Добавить комментарий Отменить ответ

    7 г. назад ИнструкцииGoogle Docs, Google Sheet
    Аля Бишопова
    0
    Facebook
    0
    Twitter
    0
    Pinterest
    Читать @osappleru

    Последние новости
    АвтоВАЗ представил новое поколение LADA Vesta. Теперь со светодиодными фарами
    1 год назад
    Spotify выпустил музыкальный плеер для автомобилей Car Thing за $90
    1 год назад
    OSApple
    • Реклама
    • Карта сайта
    • Контакты
    • Игры футбол
    • Часы Apple
    • Cydia
    • Apple Watch
    Если Вы заинтересованы в размещении рекламы, пишите на info@osapple.ru
    © 2014-2021 OSApple.ru. Любое копирование информации с сайта без обратной ссылки на osapple.ru запрещено!