我在Google Apps脚本中写了一个小程序,通过Google Sheets中的"UI“来借用和上交项目。用户在下拉列表中找到一个项目,输入其名称,然后单击一个按钮进行借用。类似地,当提交设备时,用户在另一个下拉列表中找到要提交的项目,然后单击另一个按钮。
我想要的是向用户显示某种类型的反馈,当项目已注册为借入或移交。问题不在于显示一条消息,而是让它再次消失。因此,我想要某种计时器,它可以在几秒钟后删除通知。
我寻找了一个解决方案,发现我也许可以使用“Utilties.sleep”,但它似乎只需等待指定的时间,然后立即执行整个代码,无论我如何构造它。
我在想像这样简单的事情:
var range = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('B2');
range.setValue('The item was successfully registered!');
Utilities.sleep(3000);
range.clear();
我也研究了“Lock.waitlock”,但也不能让它工作。我确实看到了这篇文章,但由于某种原因,它对我来说不起作用:Set Timeout in Google Apps Scripts
任何帮助都将不胜感激。
发布于 2019-03-22 11:43:27
为了完全模仿你的代码
var range = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('B2');
range.setValue('The item was successfully registered!');
SpreadsheetApp.flush();
Utilities.sleep(3000);
range.clear();
但对我来说,我认为这不是个好主意。
您可以使用长显示吐司:
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
activeSpreadsheet.toast('The item was successfully registered!', 'Automation', -1);
Utilities.sleep(3000);
activeSpreadsheet.toast('All fine! Relax!', 'Automation', 5 * 1000);
https://stackoverflow.com/questions/55297973
复制相似问题