Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google Sheets确定工作表是否通过脚本进行保护_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script Google Sheets确定工作表是否通过脚本进行保护

Google apps script Google Sheets确定工作表是否通过脚本进行保护,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我已经为一个有很多表格的电子表格编写了一个脚本。完成图纸后,将复制该图纸并将其设置为“受保护”。我希望脚本在onEdit()期间在任何未受保护的工作表上运行。有没有办法确定工作表是否受保护?创建一个名为onEdit(e)的函数,使用电子表格getSheets()方法,您可以访问所有工作表并确定它们是否具有工作表的保护类型。如果他们这样做了,那么只需立即返回,而不在onEdit(e)中处理它们。可以使用此代码e.source.getActiveSheet().getName()创建一个名为OneE

我已经为一个有很多表格的电子表格编写了一个脚本。完成图纸后,将复制该图纸并将其设置为“受保护”。我希望脚本在onEdit()期间在任何未受保护的工作表上运行。有没有办法确定工作表是否受保护?

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

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

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

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