[英]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.