【发布时间】:2017-11-07 22:05:05
【问题描述】:
我已经为包含很多工作表的电子表格编写了一个脚本。工作表完成后,将被复制并设置为受保护。我希望我的脚本在 onEdit() 期间在任何不受保护的工作表上运行。有没有办法确定工作表是否受到保护?
【问题讨论】:
标签: google-apps-script google-sheets
我已经为包含很多工作表的电子表格编写了一个脚本。工作表完成后,将被复制并设置为受保护。我希望我的脚本在 onEdit() 期间在任何不受保护的工作表上运行。有没有办法确定工作表是否受到保护?
【问题讨论】:
标签: google-apps-script google-sheets
这是一个使用 getProtections 的示例:
function onEdit(e) {
var sheet = e.source.getActiveSheet()
var protect = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)
if (protect != "Protection") {
// Run your code here. For example:
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1").setValue("Unprotected");
}
}
【讨论】:
创建一个名为onEdit(e) 的函数并使用电子表格getSheets() 方法可以访问所有工作表并确定它们是否具有SHEET 的保护类型。如果他们这样做了,那么就立即返回,不要在onEdit(e) 中处理它们。可以使用此代码e.source.getActiveSheet().getName() 确定当前工作表名称。
【讨论】: