我有一个受保护的Google工作表,并且有很多范围是该保护的例外。有没有一种方法可以使用脚本编辑器来复制工作表,然后对其进行保护,还可以复制工作表中的异常范围(即不受保护的单元格)进行复制?这样,重复的工作表将保留所有保护设置作为原始工作表。
我想出了这段代码,除了在重复的工作表中设置例外之外,它似乎还可以工作。我收到一个错误,指出“指定的范围必须是工作表的一部分”。复制并保护新工作表后,出现此错误。
function DuplicateSheetWithProtections() {
var sheet1 = SpreadsheetApp.getActiveSheet();
var protection1 = sheet1.protect();
var unprotected1 = protection1.getUnprotectedRanges();
protection1.setUnprotectedRanges(unprotected1);
SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet();
var sheet2 = SpreadsheetApp.getActiveSheet();
var protection2 = sheet2.protect();
protection2.setUnprotectedRanges(unprotected1);
}