基于工作表值的Google表格保护

时间:2019-11-24 19:44:10

标签: google-apps-script google-sheets

我在一个Google表格文件中拥有30个标签,它们的结构相同但数据不同

我想要一个基于值锁定(保护)整个工作表的脚本

此值定义为范围,如果该值(已审核),我想锁定选项卡

  • 单元格位置:A5
  • 单元格值:“已审核”

1 个答案:

答案 0 :(得分:1)

function protectAudited() {
  var ss=SpreadsheetApp.getActive();
  var shts=ss.getSheets();
  shts.forEach(function(sh) {
    if(sh.getRange('A5').getValue()=='audited') {
      sh.protect();
    }
  });
}

也许是这样的:

function protectAudited() {
  var ss=SpreadsheetApp.getActive();
  var shts=ss.getSheets();
  shts.forEach(function(sh) {
    if(sh.getRange('A5').getValue()=='Audited') {
      sh.protect();
    }else {
      var protection=sh.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0];
      if(protection && protection.canEdit()) {
        protection.remove();
      }
    }
  });
}