我正在尝试编写一个脚本,它将删除所有响应,启动一个新工作表,然后通过将第一行设置为红色来设置新工作表的样式。以下是我到目前为止的情况:
function Initialize2() {
var form = FormApp.getActiveForm();
var ss = SpreadsheetApp.openById(form.getDestinationId());
form.deleteAllResponses();
form.removeDestination();
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
form = FormApp.getActiveForm();
ss = SpreadsheetApp.openById(form.getDestinationId());
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:Z1");
range.setBackground("red");
sheet.setFrozenColumns(1);
}
我面临的问题是它会创建一个新工作表,但颜色更新发生在以前活动的工作表上。如何更新新的活动表?
答案 0 :(得分:2)
当您选择用于颜色更改的工作表时,具有表单响应的新工作表可能尚不存在,因为表格may postpone operations可以提高性能。为确保已创建,请致电
SpreadsheetApp.flush();
之前
var sheet = ss.getSheets()[0];