我刚刚开始为Google Apps Scripts编写JS,以自动化我的部分Google表格。如果有明显的错误,我提前道歉。
我已经使用构造函数定义了一个对象,当我尝试创建相同类型的新对象时,在圆括号中给出变量值,这些值似乎就是这样做的。
以下是代码:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("First Sorting");
var negsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Negative List");
function pastesheet (lastrow, append, pasterow) {
this.lastrow = sheet.getLastRow();
this.append = 1;
this.pasterow = sheet.getRange(1, 1);
}
var neg = new pastesheet(negsheet.getLastRow(), 1, negsheet.getRange(1, 1));
从记录器中我发现使用上面的代码neg.lastrow实际上是指最后一行表“First Sorting”而不是我想要它引用的“Negative List”。 我还观察到以下调整到上面代码的最后一行做了我想要的:
ver neg = new pastesheet();
neg.lastrow = negsheet.getLastRow();
neg.append = 1;
neg.pastrow = negsheet.getRange(1,1)
但是,我真的很想知道我在第一次做错了什么?将所有内容分配到一行非常方便,我打算在很多页上进行分配。
答案 0 :(得分:0)
您的构造函数引用的sheet
不是参数,因此引用了" First Sorting" sheet
在全球机构中定义。
你打算沿着这些方向做点什么:
function pastesheet (sheet, append) {
this.lastrow = sheet.getLastRow();
this.append = append;
this.pasterow = sheet.getRange(1, 1);
}
var neg = new pastesheet(negsheet, 1);