вторник, 9 февраля 2016 г.

Google Sheets. Копирование данных листа google sheet из одного документа в другой.

Дано

1. Документ-источник (google sheet), в котором ведутся некоторые данные.
2. Документ-приёмник (google sheet), в котром на одном из листов надо использовать данные из документа-источника.

Описание решения

В документе-приёмнике в скриптах, пишется код, который запускается регулярно триггером (в моём случае каждый час), и копирует полностью (т.е. накрывает/перезаписывает диапазон ячеек целиком) данные. А также и цветовые схемы (font,background colors) и примечания ячеек, входящих в диапазон.

Код скрипта

function readFomVolonteersQuestionnaire() {
  var RANGE_NAME = "A1:AT202";
  var DEST_SHEET_NAME = "Диапазон";
  
  // Документ - источник
  var spreadsheet = SpreadsheetApp.openById('13d...'); 
  
  var sheet = spreadsheet.getSheets()[0];     // лист с данными (первый в источнике)
  
  var range = sheet.getRange(RANGE_NAME);
  var values = range.getValues();
  var backgroundColors = range.getBackgrounds();// цвет фона
  var fontColors = range.getFontColors();// цвет текста
  var notes = range.getNotes();  // примечания

  
  // Текущий документ (приёмник данных)
  var ss = SpreadsheetApp.getActiveSpreadsheet();  // активный документ (из которого запускается скрипт)
  var SSsheet = ss.getSheetByName(DEST_SHEET_NAME);
  var ssRange = SSsheet.getRange(RANGE_NAME);
  ssRange.setValues(values);
  ssRange.setBackgrounds(backgroundColors);
  ssRange.setFontColors(fontColors);
  ssRange.setNotes(notes);  // примечания 
}

Комментариев нет:

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