Скрипт для копирования ячейки и добавления даты и времени, когда она была скопирована - PullRequest
0 голосов
/ 14 февраля 2019

Здесь нужна помощь, ребята.

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

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

function tableCopy() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName("Data");
  var targetSheet = ss.getSheetByName("Master");
  var values = sourceSheet.getRange("D2").getValues();

  var valuesLength = values.length;
  if (!valuesLength) return; 





  var lastRow = targetSheet.getLastRow();
  var requiredRows = lastRow + valuesLength - targetSheet.getMaxRows();
  if (requiredRows > 0) targetSheet.insertRowsAfter(lastRow, requiredRows);
    targetSheet.getRange(lastRow + 1, 1, valuesLength, values[0].length).setValues(values);



}

Как можно также добавить дату и время запуска вышеуказанного сценария в столбец рядом со столбцом с скопированными данными.

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете просто добавить new Date() в массив значений.

function tableCopy() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName("Data");
  var targetSheet = ss.getSheetByName("Master");
  var values = sourceSheet.getRange("D2").getValues();

  var valuesLength = values.length;
  if (!valuesLength) return; 

  var lastRow = targetSheet.getLastRow();
  var requiredRows = lastRow + valuesLength - targetSheet.getMaxRows();
  if (requiredRows > 0) targetSheet.insertRowsAfter(lastRow, requiredRows);

  values[0].push(new Date()); //Add Date to the 2D array.
  targetSheet.getRange(lastRow + 1, 1, valuesLength, values[0].length).setValues(values);


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...