#google-sheets
Вопрос:
Я пытаюсь менять цвет фона одной из моих ячеек каждые 2 секунды, пока статус «6 — aanvraag».
Однако, когда я выполняю приведенный ниже сценарий, он будет белым только тогда, когда сценарий будет выполнен, и он никогда не станет красным.
Кто-нибудь может мне в этом помочь.
var eenheidColom = sheet.getRange('A7');
var status = spreadsheet.getRange('C5').getValue();
while (status == '6 aanvraag') {
eenheidColom.setBackgroundRGB(255,0,0)
Utilities.sleep(2000);
eenheidColom.setBackgroundRGB(255,255,255)
status = spreadsheet.getRange('C5').getValue();
}
}
Комментарии:
1. Это может помочь вам в приложении SpreadsheetApp.flush()
Ответ №1:
Ответ:
Вам нужно принудительно внести изменения в свой лист между двумя вызовами, чтобы установить цвет фона.
Дополнительная Информация:
Часто операции с листами выполняются пакетами, поэтому визуальные изменения могут быть незаметны. Однако вы можете принудительно выполнить все ожидающие действия, позвонив по SpreadsheetApp.flush()
адресу .
Изменения Кода:
Я внес пару небольших изменений в код, чтобы сделать ваш цикл более эффективным, в дополнение к flush()
вызову:
const eenheidColom = sheet.getRange('A7')
const cell = spreadsheet.getRange('C5')
let status = cell.getValue()
while (status === '6 aanvraag') {
eenheidColom.setBackgroundRGB(255, 0, 0)
SpreadsheetApp.flush()
Utilities.sleep(2000)
eenheidColom.setBackgroundRGB(255, 255, 255)
SpreadsheetApp.flush()
Utilities.sleep(2000)
status = cell.getValue()
}