Введите значение новой ячейки - PullRequest
0 голосов
/ 03 мая 2020

Доброе утро, этот скрипт добавляет ячейку ниже, это неправильно, я бы лучше скопировал значение E2 и вставил его в E3, E4 et c et c каждый 1 час. Спасибо тем, кто решает мою проблему.

  var activeSheet = SpreadsheetApp.getActiveSheet();
  SpreadsheetApp.getActiveSheet().getRange('E2').setValue(jsonResponse.price);
  var sheet =SpreadsheetApp.getActiveSheet()
  var range = sheet.getRange("E2:E2");
  range.insertCells(SpreadsheetApp.Dimension.ROWS);

1 Ответ

0 голосов
/ 06 мая 2020

Триггер, управляемый временем:

Сценарий, которым вы поделились, эффективно сместит ячейки в столбце E вниз, при этом E3 будет содержать новейшее значение (E2 будет пустым). Вы хотите, чтобы эта функция запускалась автоматически каждый час. Для этого вам нужно установить управляемый временем триггер . Триггер, необходимый в этом случае, будет everyHours (n) . Вы можете установить либо вручную, выполнив эти шаги , либо программно, запустив следующую функцию один раз:

function createHourTrigger() {
  var triggeredFunction = "shiftAndSet"; // Triggered function name, change accordingly
  ScriptApp.newTrigger(triggeredFunction) 
    .timeBased()
    .everyHours(1)
    .create();
}

Примечание:

В вашем сценарии определенное количество повторения и может быть уменьшен до этого (код для извлечения jsonResponse явно отсутствует):

function shiftAndSet() {
  var range = SpreadsheetApp.getActiveSheet().getRange("E2");
  range.setValue(jsonResponse.price);
  range.insertCells(SpreadsheetApp.Dimension.ROWS);
}

Кроме того, если вы хотите, чтобы E2, а не E3, чтобы иметь новейшее значение в В конце каждого выполнения вы можете изменить порядок действий, например:

function shiftAndSet() {
  var range = SpreadsheetApp.getActiveSheet().getRange("E2");
  range.insertCells(SpreadsheetApp.Dimension.ROWS);
  range.setValue(jsonResponse.price);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...