Google Forms Script Reset&更新风格

时间:2016-03-12 18:22:51

标签: google-apps-script google-sheets google-form

我正在尝试编写一个脚本,它将删除所有响应,启动一个新工作表,然后通过将第一行设置为红色来设置新工作表的样式。以下是我到目前为止的情况:

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

我面临的问题是它会创建一个新工作表,但颜色更新发生在以前活动的工作表上。如何更新新的活动表?

1 个答案:

答案 0 :(得分:2)

当您选择用于颜色更改的工作表时,具有表单响应的新工作表可能尚不存在,因为表格may postpone operations可以提高性能。为确保已创建,请致电

SpreadsheetApp.flush();

之前

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