在Google Spreadsheets中,如何保护A列中的行,这些行在任何类型的编辑中都是奇怪的?
我想使用此功能
=ISODD(ROW(A1))
受保护的工作表和范围默认情况下为您提供
Sheet1!A1
我可以这样做
Sheet1!A1:A1000
它将保护所有1000行,但我如何使用其中的函数,所以我只能使用ODD行。
以下是该特征的图片
答案 0 :(得分:1)
正如您对问题的评论所述,我不相信currently有任何方法可以通过Google Apps脚本操纵范围保护。
因此,我能想到的唯一选择是手动将保护应用于500个单独的单元格(在您的示例中)。
解决方法 - 这不是特别整洁 - 是使用数据验证来阻止(最终不会阻止)在偶数行中输入数据,这种安排(从数据,验证...访问):
有权访问电子表格的精明用户将能够进行数据验证并绕过这一点。
答案 1 :(得分:1)
Google已使用谷歌应用脚本为protecting sheets创建了api。
例如,要保护范围A1:B10,您可以运行
var ss = SpreadsheetApp.getActive();
var range = ss.getRange('A1:B10');
var protection = range.protect().setDescription('Sample protected range');
如果您想要替代保护行,可以尝试这样的
function alternateRowProtection() {
var totalRows = SpreadsheetApp.getActiveRange().getNumRows();
var sheet = SpreadsheetApp.getActiveSheet();
var row = 1;
while (row < totalRows)
{
if(row%2 == 0){
sheet.getRange(row).protect().setDescription('This is protected.');
}
row++;
}
}