【发布时间】:2021-04-02 17:36:22
【问题描述】:
我是 Google Apps 脚本的新手,正在尝试编写一个脚本来执行以下操作:
- 保护活动工作表,然后在该工作表的指定范围内:
- 确定所有“公式单元格/范围”(以及“非公式单元格/范围”),然后
- 取消保护非公式范围[]
这是我目前正在使用的(请参阅我遇到困难的部分)
function protectFormulas() {
// DEFINE WORKSHEET
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ws = ss.getActiveSheet();
// PROTECT ACTIVE SHEET
var protection = ws.protect().setDescription('Protect Fomulas');
// Establish Range and Formulas within [currently my range is the entire sheet]
var range = ws.getDataRange();
var formulas = range.getFormulas();
// *****THIS IS WHERE I'M STUCK - how to determine the Range[] Array within "Formulas" ?? [aka ignore the notes]
//var result = new Array(formulas.length)
//for (var i = 0; i < formulas.length; i++) {
//IF formulas [i] is blank
//add formulas R1C1 to Result Array [how to?]
//ELSE
// do nothing
//}
// *****END OF WHERE I'M STUCK
// UNPROTECT select Ranges
var unprotected = ws.range;
protection.setUnprotectedRanges(result);
}
请帮忙!
【问题讨论】:
标签: google-apps-script google-sheets range