#google-apps-script #google-sheets #google-spreadsheet-api
#google-apps-script #google-sheets #google-sheets-api
Вопрос:
Я пытаюсь сделать мои обновления листа видимыми после их завершения.
Я написал этот код, чтобы продемонстрировать, что я пытаюсь сделать
function sheetResponsivenessTest(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet8');
if(sheet == undefined){
sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('Sheet8');
}
sheet.getRange(1, 1, sheet.getLastRow(), sheet.getLastColumn()).clear();
for(var r = 1 ; r < 3 ; r ){
for(var c = 1 ; c < 3 ; c ){
sheet.getRange(r, c, 1, 1).setValue(r '_' c);
Utilities.sleep(1000);
}
}
}
Что происходит, когда я запускаю этот метод, так это то, что через некоторое время я вижу, что все значения отображаются в одном кадре. Пока мне нужно видеть, как ячейки заполняются одна за другой. Увеличение продолжительности ожидания не помогло.
Ответ №1:
Вызовите SpreadsheetApp.flush() . Это приведет к тому, что он будет работать намного медленнее.
Комментарии:
1. У меня есть другой лист, который обновляет свои ячейки после их обновления, но я не так
flush
SpreadsheetApp
, как вы указали здесь. Почему лист обновляет свои ячейки без необходимостиflush
обновления?2. зависит от того, сколько данных вы записываете в электронную таблицу. сброс не требуется, просто обновление происходит сразу