Обновление / обновление ячеек листов Google автоматически каждую минуту - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь написать тестовый скрипт, чтобы листы Google автоматически обновляли свои ячейки каждую минуту. Важно, чтобы этот тестовый скрипт работал, чтобы я мог использовать его для других целей.

У меня есть функция скрипта Google Apps следующим образом:

 function custom_function(id){
  return new Date().toLocaleTimeString();;
}

По сути, это правильно возвращает текущее время, а параметр id не используется. Если я использую эту функцию в ячейке, то есть =custom_function(B4), тогда она правильно вычисляет текущее время и отображает ее в ячейке. Все идет нормально.

Но ячейка не обновляется сама по себе. Я пытаюсь сделать так, чтобы значение этой ячейки, т.е. текущее время, автоматически обновлялось каждую минуту без какого-либо вмешательства человека, просматривающего электронную таблицу.

Я пытался установить триггер, который каждую минуту вызывает следующую функцию:

function private_function(){
        SpreadsheetApp.flush();
}

Мой триггер вызывает эту функцию каждую минуту, но очистка, похоже, ничего не делает. У меня сложилось впечатление, что сброс приведет к пересчету всех записей в ячейке, обновляя значения каждой ячейки, снова вызывая custom function в каждой ячейке. Это не делает то, что я хочу. Есть ли простой способ сделать то, что я пытаюсь сделать, не вводя фиктивные параметры времени во все мои функции?

1 Ответ

0 голосов
/ 29 мая 2019

Попробуйте что-то вроде этого

function updateStampInSheet(e) {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
    var stamp = new Date();
    sheet.getRange(1,1).setValue(stamp);
}

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

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