任何人都可以遇到吗?无法确定真正的问题。google TABLE文件脚本中有一段代码:
function addNewRowIfNeedIt(activeSheet) {
try{
var maxRow = activeSheet.getMaxRows()
var lastRow = activeSheet.getLastRow()
if (lastRow +5 >= maxRow){
activeSheet.insertRowsAfter(maxRow, lastRow+5-maxRow)
return true
}
return false
}catch(error){Logger.log(error) }
}
它检查给定工作表的末尾是否有 5 行空行 - 如果没有,它会添加以便有。它是从其他在行中填充内容的函数启动的。
因此,当其他用户(除了我,脚本的创建者)运行该脚本,该脚本又调用该函数时,该行会弹出错误“无效参数”:
activeSheet.insertRowsAfter(maxRow, lastRow+5-maxRow)
当操作本身正在运行时!用户函数示例:
function fillRowOtpravka(){
try{
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getActiveSheet()
// Если необходимо - добавляется новая строчка
addNewRowIfNeedIt(sheet)
// Дата операции
sheet.getRange("B" + rowI).setValue(new Date())
}catch(error){Logger.log(error)}
}
我请你用鼻子戳我,往哪儿挖?
这里有一个错误......魔鬼隐藏在细节中......而不是 >= 应该只有 >
假设最后完成的行 = 10 最大行数 = 15
然后传递的条件是 (10+5 >= 15) 脚本试图这样做: insertRowsAfter(15, 10+5-15) = insertRowsAfter(15, 0)
第二个参数为零并给出了这个错误......