【发布时间】:2020-03-12 02:38:24
【问题描述】:
我的 Apps 脚本代码的最后一行出现以下错误 - “异常:参数 (number[]) 与 SpreadsheetApp.Range.setValues 的方法签名不匹配。 (第 52 行,文件“TaskCompletionDate”)”
代码使用 sheet.getDataRange() 获取电子表格范围,并根据特定条件从该范围选取值到名为 Col8 的列数组中。 数组 Col8 完全写入后,我将这个 Col8 粘贴到我的电子表格中。错误是指这一步。
我的代码的缩短版如下:
var spreadsheet = SpreadsheetApp.openById("Spreadsheet_ID");
var sheet = spreadsheet.getSheetByName("Sheet_name");
var rows = sheet.getLastRow();
var range = sheet.getDataRange();
var values = range.getValues();
var today = new Date();
var yesterday = new Date();
yesterday.setDate(today.getDate()-1);
var Col8 = new Array(rows-1,1);
for (var i=2; i<=rows; i++)
{
if (values[i-1][1] == "Completed")
{
if (!values[i-1][8])
Col8[i-1][1].setValue(values[i-1][1]);
}
}
sheet.getRange(2,8,rows-1,1).setValues(Col8);
Spreadsheet columns can be seen here
我错过了什么? 我不是程序员,也不知道 JavaScript 或 Apps Script,但一直在使用 App Script 文档和网上其他 app 脚本资源构建小型 Apps Script sn-ps。
【问题讨论】:
-
我很乐意为您提供帮助。如果您可以提供问题中涉及的工作表的图像,那将会很有帮助。请确保图像显示行和列以及列标题。
-
错误的原因是你的变量 Col8 需要是一个二维数组,而它不是。我可以用你的工作表图片帮你解决这个问题。
标签: google-apps-script google-sheets