2015-04-21 38 views
0

我正在尝试在Google电子表格中编写一个脚本,该脚本将从定义的单元格中读取一个范围,取其值和Insert行数作为范围指示,然后复制并粘贴单元格中由范围值给定的特定范围。insertRowsBefore()导致错误的方法:无法将(范围)转换为类

显然复制和粘贴范围的值有效,但insertRowsBefore的范围值无法转换范围值,任何想法为什么会发生这种情况?我得到这个错误

cannot convert (range) to class

这里是脚本的样子:

var insert =ss.getSheetByName("DataBase").insertRowBefore(r1); 

你把一个变量名r1到:

function CopyActualvsWMS() {  
    var ss = SpreadsheetApp.getActiveSpreadsheet();  
    var sheet = ss.getSheetByName("ActualVsSystem"); 
    var value0 = sheet.getRange('T4'); 
    var r1 = value0.getValue();  
    var insert =ss.getSheetByName("DataBase").insertRowBefore(r1);  
    var value1 = sheet.getRange('T3');  
    var cr1 = value1.getValue();  
    var source = ss.getRange(cr1);  
    source.copyTo(ss.getRange("DataBase!a2"), {contentsOnly: true}); 
} 

回答

1

问题是由该行未来参数,但参数必须是数字(整数),而不是字符串或范围引用。变量r1不计算为整数。这可能是一个字符串。

Google Documentation - insertRowBefore()

相关问题