如何在 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);
您需要创建一个新范围
- 为此,首先使用方法getHeight()获取
activeRange
的高度。
- 然后,加上
1
。
- 使用 getRange(row, column, numRows, numColumns)
方法创建一个新范围
row
、column
和 numColumns
可以取自 activeRange
- 只有高度是新的。
样本:
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);
我手动 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);
您需要创建一个新范围
- 为此,首先使用方法getHeight()获取
activeRange
的高度。 - 然后,加上
1
。 - 使用 getRange(row, column, numRows, numColumns) 方法创建一个新范围
row
、column
和numColumns
可以取自activeRange
- 只有高度是新的。
样本:
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);