我希望你能帮我解决一个问题。
我有一个代码,它根据第 10 列中的时间将行从一个选项卡复制到另一个选项卡。我从这里获得了代码,并根据我的需要对其进行了修改。作为此代码的一部分,我有第二个选项卡,其中包含类似的信息,它只需要从中删除相同的行。但是,当它从第二个选项卡开始并指出“无法在对象中找到函数 getTime ...”时,我收到一条错误消息。我猜这是由于我的标题栏在第 10 列中没有时间。有没有办法从 filterarray 中排除行?
function moveRows() {
var ss = SpreadsheetApp.getActive();
var s = ss.getSheetByName("Today");
var sr = ss.getSheetByName("Request History");
var target = ss.getSheetByName("Archive");
var today = new Date().getTime()
var val = filterArray(s.getDataRange()
.getValues());
for (var len = val.length - 1, i = len; i >= 3; i--) {
if (val[i][10].getTime() < today) {
target.appendRow(val[i])
s.deleteRow(i + 1)
}
}
var val = filterArray(sr.getDataRange()
.getValues());
for (var len = val.length - 1, i = len; i >= 0; i--) {
if (val[i][10].getTime() < today) {
sr.deleteRow(i + 1)
}
}
}
function filterArray(array) {
var filteredArray = [];
array.forEach(function (r) {
if (r[10] !== '') {
filteredArray.push(r);
}
});
return filteredArray;
var cell = s.getRange("A2:A2");
cell.setFormula("=query('Request History'!A:F)");
}
任何帮助将不胜感激。我不是编码员,但在使用它时通常会设法更改代码以满足我的需要。
谢谢, Sjoerd