Как обновить значение ячейки листа в скрипте Google Apps
я экспериментирую с Blockspring который предоставляет надстройку Google Sheets, которая может, например, запускать функцию, которая возвращает данные из веб-сервиса, например
=BLOCKSPRING("get-stock-current-stats", "ticker", "MSFT")
Я хочу обновить данные ячейки, но не вижу вызова "обновить" в документах.
function onOpen() {
createTimeDrivenTriggers()
}
function createTimeDrivenTriggers() {
// Trigger every minute
ScriptApp.newTrigger('myFunction')
.timeBased()
.everyMinutes(1)
.create();
}
function myFunction() {
Logger.log('I ran'); // can see this in the logs
SpreadsheetApp.getActiveSheet().getRange('B4').getValue() //presumably returns a value to the script
}
2 ответов
использовать flush()
способ:
SpreadsheetApp.flush();
цитата из документации:
применяет все ожидающие изменения электронной таблицы
если в таблице не было изменений, но вы хотите заставить формулы пересчитать, вам нужно будет внести изменения, а затем использовать SpreadsheetApp.flush();
например, вы можете получить значение из ячейки A1, а затем установить то же значение в ячейку A1. Итак, есть нет шансов потерять данные, потому что вы получаете и устанавливаете одно и то же значение. Изменение позволяет. SpreadsheetApp.flush();
пересчитать все формулы.
выделите ячейку с формулой или несколько ячеек с формулами
Из меню выберите:
Add-ons > Blockspring > Refresh Selected Cells
надеюсь, что это поможет