我每天都在抓几页,需要创建一个新的google工作表,以便将删除的数据放入其中。
我循环浏览页面,如果是第一页,我会创建一个以日期作为名称的新ss。
然后对于后续页面,我试图通过名称引用获取同一页面,以便添加第2,3页的数据,...
以下是代码:
if(start==1){
// Create new ss in current folder
var ss = SpreadsheetApp.create(full_d);
var id = ss.getId();
var file = DriveApp.getFileById(id);
var folder = DriveApp.getFolderById('ABC');
folder.addFile(file);
DriveApp.getRootFolder().removeFile(file);
}else{
var ss = SpreadsheetApp.getSheetByName(full_d);
}
ss.getRange(ss.getLastRow() + 1, 1, res.length, res[0].length).setValues(res);
如果我删除了if语句并只放了var ss = Spreadsheet.getActiveSheet(),我的代码就可以了。
由于
答案 0 :(得分:1)
这次修改怎么样?
getSheets()
创建的电子表格中的工作表已获得。var ss = SpreadsheetApp.getSheetByName(full_d);
发生错误。因此修改了文件名为full_d
的电子表格。ss
的范围。但在GAS中,这可能不是问题。var ss; // <--- Added
if(start==1){
// Create new ss in current folder
ss = SpreadsheetApp.create(full_d);
var id = ss.getId();
var file = DriveApp.getFileById(id);
var folder = DriveApp.getFolderById('ABC');
folder.addFile(file);
DriveApp.getRootFolder().removeFile(file);
ss = ss.getSheets()[0]; // <--- Added
}else{
var file = DriveApp.getFilesByName(full_d).next(); // <--- Added
ss = SpreadsheetApp.open(file).getSheets()[0]; // <--- Added
}
ss.getRange(ss.getLastRow() + 1, 1, res.length, res[0].length).setValues(res);
如果我误解了你的问题,我很抱歉。那时,请告诉我。