Google Sheets: Попытка GetValue -> SetValue с ценами Биткойн и распечатать его в любом месте листов.2 кода - PullRequest
0 голосов
/ 24 сентября 2018

Моя цель: я пытаюсь напечатать (или поставить штамп) значение биткойна каждый раз, когда в листе есть слово «printprice».

Моя проблема: мне не удалось получить этокак я пытался получить решение из двух разных кодов

Вот чего я пытаюсь достичь:

function onEdit() {
  // simple timestamp -- when a single "T" is entered in a cell, replace it with a timestamp
  // see https://productforums.google.com/d/topic/docs/rC6MpQDC7n4/discussion
  var cell = SpreadsheetApp.getActiveRange();
  if (cell.getValue() == "Timestamp") {
    cell.setValue(new Date());
  }
}

^ это работает и печатает новую дату каждый раз, когда появляется слово "отметка времени "в любом месте листа.

То, что я пытался сделать, это безуспешно объединить приведенные выше данные с приведенным ниже.

/* USAGE:
 *  Sheet -> Tools -> Script Editor...
 *  Paste this script
 *  Update the map (below) to your preferences
 *  Create a button in your Sheet and Assign Script: `test`
 *  et voila profit
 */
function test() {
  // maps currencies.tokens to sheet ranges
  getPrices({
    'USD': {
      'ETH': 'G6',
      'DASH': 'H6',
      'LTC': 'I6',
      'GNT': 'J6',
      'REP': 'K6',
      'BAT': 'L6'
    }
  });
}

function getPrices(model) {
  for (var currency in model) {
    var tokens = Object.keys(model[currency]).toString();
    var url = 'https://min-api.cryptocompare.com/data/price?fsym=' + currency + '&tsyms=' + tokens;
    var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
    var json = JSON.parse(response.getContentText());
    for (var token in model[currency]) {
      updatePrice(
        model[currency][token],
        json[token]
      );
    }
  }
}
function updatePrice(range, price) {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(range).setValue(1/price);
}

Надеемся, что вы можете оказать помощь, как этодля меня это тоже процесс обучения!

С уважением, Йохан

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