Google 表单脚本重置和更新样式

Google Forms Script Reset & Update Style

我正在尝试编写一个脚本来删除所有回复,开始一个新的 sheet,然后通过将第一行设为红色来设置新 sheet 的样式。这是我目前所拥有的:

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);
}

我面临的问题是它会创建一个新的 sheet,但是颜色更新发生在之前激活的 sheet 上。我该怎么做才能更新新的活动 sheet?

当您 select 对颜色进行 sheet 更改时,新的 sheet 表单响应可能还不存在,因为 Sheets may postpone operations 可以提高性能。为确保创建已经发生,请调用

SpreadsheetApp.flush();

之前

var sheet = ss.getSheets()[0];