如何在 Google Apps 脚本中使用 getRange() 或 getActiveRange() 向受保护数据添加一行和双倍选定行?

How to add one more row and double of selected rows to the protected data using getRange() or getActiveRange() in Google Apps Script?

我手动 select A41 到 F80,它使用以下代码行很好地保护了 A41 到 F80。

但是,我想 (i) 在受保护的数据(A41 到 F81)中再添加一行,尽管我会 select A41 到 F80。

另外在另一种情况下,我想将 selected 行的两倍加一个到受保护的数据 (A41:F121),尽管我将 select A41 到 F80。

大概是getActiveRange()不行,后来我尝试用getRange()也解决不了。请帮我解决一下。

var protection = SpreadsheetApp.getActiveSheet().getActiveRange().protect().setDescription(description); 

您需要创建一个新范围

样本:

var activeRange = SpreadsheetApp.getActiveRange();
var height = activeRange.getHeight();
var newHeight = height + 1;
var activeSheet = SpreadsheetApp.getActiveSheet();
var newRange = activeSheet.getRange(activeRange.getRow(), activeRange.getColumn(), newHeight, activeRange.getWidth());
var protection = newRange.protect().setDescription(description);