Google表格确定是否通过脚本保护工作表

时间:2017-11-06 11:56:28

标签: google-apps-script google-sheets

我为包含大量工作表的电子表格编写了一个脚本。工作表完成后,它将被复制并设置为受保护。我希望我的脚本在onEdit()期间在任何未受保护的工作表上运行。有没有办法确定表格是否受到保护?

2 个答案:

答案 0 :(得分:1)

以下是使用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");
     }
 }

答案 1 :(得分:0)

创建一个名为onEdit(e)的函数,并使用电子表格getSheets()方法,您可以访问所有工作表并确定它们是否具有SHEET的protectionType。如果他们这样做,那么只需立即返回,不要在onEdit(e)处理它们。可以使用此代码e.source.getActiveSheet().getName()确定当前工作表名称。