我有一个Google表单,我已经使用“on open”事件触发的应用程序脚本进行了扩充。该脚本(见下文)使用源表中的值更新表单描述,并按预期工作。
提交表单时会出现问题,然后生成新的“问题”。由于表单更新了表单,我希望新问题在说明中显示更新的值。但它显示了之前(过时的)值。
我可以通过在脚本编辑器中“运行”脚本来强制更新值。
是否有解决方法来阻止表单缓存值?
脚本:
function DisplayBalanceInDescription() {
var form = FormApp.getActiveForm();
var ss = SpreadsheetApp.openById(form.getDestinationId()).getSheetByName('sheet 1');
var data = ss.getDataRange().getValues();
var balance = data[0][6]; // first row, 7th column
form.setDescription("Current account balance is $" + balance);
}
一些额外的细节:
cell.setFormula("=QUERY('foo bar'))
,认为我需要触发查询,但这对缓存没有影响,尽管运行没有任何语法错误.getValues()
或其附近)的调用是缓存发生的地方......