簡體   English   中英

取消保護受保護工作表中的范圍

[英]Unprotect a range in a Protected Sheet

我有一個受保護的工作表,其中包含 7 個不受保護的范圍異常。 我想從工作表上的另一個范圍(一個單元格)中刪除保護,總共有 8 個不受保護的范圍。 我已經閱讀了 SO 中的幾個示例,但到目前為止似乎沒有一個有效。

這是我的代碼

    var ss=SpreadsheetApp.openById('id'); // get sheet
    ss.getSheetByName('Sheet1').getRange(4,2,1,1).protect().remove(); //get and remove protection on cell
    ss.getSheetByName('Sheet1').getRange(5,2,1,1).setValue('Code ran'); //confirm code ran

如您所見,我正在運行一行以確認代碼正在運行,並且確實如此。 但是保護不會從單元格范圍 4、2、1、1 中刪除。

顯然,我錯過了一些東西。

謝謝。

嘗試以下腳本:

function myfunction()
{
  var ss=SpreadsheetApp.openById('ID'); // get sheet
  var range = ss.getSheetByName('Sheet1').getRange(4,2,1,1); // gets the specific range you are trying to unprotect.
  ss.getSheetByName('Sheet1').protect().setUnprotectedRanges([range]); //adds the exception to the current protection.
  ss.getSheetByName('Sheet1').getRange(5,2,1,1).setValue('Code ran'); //confirm code ran
}

運行之后,異常應該是這樣的:

在此處輸入圖像描述

就我而言,我從 A1 到 C12 進行了測試。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM