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];
我正在尝试编写一个脚本来删除所有回复,开始一个新的 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];