So I'm building a spreadsheet that will be used by multiple users in multiple groups. Previously I have assigned permissions manually. However, that is very tedious when a user is added or leaves a group. I'm getting an error caused by .getvalues picking up blank cells and sending them to .addEditors.
Here is what I have:
function TestProtection() {
var ss = SpreadsheetApp.getActive()
ss.setActiveSheet(ss.getSheetByName('Store List'), true);
var sheets=['Sunday!C2:J2', 'MONDAY!C2:J2', 'TUESDAY!C2:J2']
var user = ss.getActiveSheet().getRange('B2:B9').getValues()
var smuser = ss.getActiveSheet().getRange('C2:C9').getValues()
var st=user
for (var j=1;j<user.length;j++)
{if (st){
for (var i=0;i<sheets.length;i++)
{
var st = user[j]
var sm = smuser
Logger.log(st)
Logger.log(sm)
var range= ss.getRange(sheets[i])
var protection = range.protect().setDescription('S1')
protection.addEditors(st);
protection.addEditors(sm);
}
}
}
}