从电子表格复制到另一个电子表格错误

时间:2020-03-02 12:35:21

标签: google-apps-script

我是使用appscript的初学者,有人可以帮助我解决此错误。

参数(字符串)与SpreadsheetApp.Range.setValues的方法签名不匹配

function Input1() {

  var sss = SpreadsheetApp.openById('10xap9qOf487MB9M9FQ-Turp81X_ZIoDVMyFY-Puf9BU');
  var ss = sss.getSheetByName('Input'); // ss = source sheet
  var values = ss.getRange("A2:H2").getValue();

  var tss = SpreadsheetApp.openById('1thJ5uqhfwZhdxsE0B9MhyhjwcFZpe4A0Ty3erGIuWpU');
  var ts = tss.getSheetByName('Entries'); // ts = target sheet
  ts.getRange(ts.getLastRow()+1,1,1,8).setValues(values);        
  }

1 个答案:

答案 0 :(得分:0)

您正在尝试获取工作表“输入”上范围A2:H2中的值,并将它们复制到工作表=“ Entries”上最后一行之后的行。

问题在以下代码行中:
var values = ss.getRange("A2:H2").getValue();

您应该使用getValue()

,而不要使用getValues()

您的范围是8列宽:

  • getValue()“返回范围内左上角单元格的值”。在这种情况下,它将返回单个单元格的值= A2。
  • getValues()将返回“ [the]范围的值的矩形网格”。这正是您想要的,以便可以与脚本最后一行中的setValues()方法一起使用。
相关问题