var MasterSheet = SpreadsheetApp.openById("----------------");
var count = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getNumColumns();
var count = MasterSheet.getRange("C2:F7").getNumColumns();
var count = MasterSheet.getRange(2, 3, 6, 4).getNumColumns();
第 2 行和第 3 行工作正常,但第 4 行给出错误“找不到方法
getRange(number,number,number,number)
”。似乎 getRange(number,..)
仅适用于 Active Sheet,不适用于 openById
。这是一个错误吗?有谁知道在
SpreadsheetApp.openById()
中使用这个符号的正确方法吗? 最佳答案
由于您在通过触发器运行脚本时使用 openByID,因此不会有事件工作表。但是,您正在尝试从 ActiveSheet 获取范围,即未定义的 getRange。
要么首先使工作表处于事件状态,然后使用 getActiveSheet
或者你可以使用
SpreadsheetApp.getSheets[0].getRange(...); //index may vary
//or
SpreadsheetApp.getSheetByName('sheetName').getRange(...)
关于google-apps-script - 如何将 getRange 的四参数形式与 SpreadSheetApp.openById() 一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10570629/