示例文档:Link
我有一个工作脚本,可以在指定工作表ID中添加或删除编辑器已有好几个月了,直到最近它开始出现以下错误:
Exception: The parameters (number[]) don't match the method signature for SpreadsheetApp.Spreadsheet.removeEditor.
关于我提供的脚本的输入,最近没有任何变化,所以我有点茫然。
脚本如下:
function runEmailAccess(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sEditors = ss.getSheetByName('Editors');
var sheet = SpreadsheetApp.openById("SHEETID");
var nAddEditor = sEditors.getRange('A2').getValue();
if (nAddEditor != 0){
var vAddEditor = sEditors.getRange('A3:A'+nAddEditor).getValues();
sheet.addEditors(vAddEditor);
}
var nRemoveEditor = sEditors.getRange('B2').getValue();
if (nRemoveEditor != 0){
var vRemoveEditor = sEditors.getRange('B3:B'+nRemoveEditor).getValues();
for (j=0;j<vRemoveEditor.length;j++) {
sheet.removeEditor(vRemoveEditor[j])
}
}
}
脚本从第2行获取列表中最后一封电子邮件的行号,然后通过.getRange将第3行的电子邮件获取到该行。
任何与此有关的帮助都会有很大帮助。 谢谢。
答案 0 :(得分:1)
vRemoveEditor
是2D数组。您仅使用vRemoveEditor[j]
索引到外部数组中。您需要同时索引两个索引以获得原始值:vRemoveEditor[j][0]