google-apps-script - Google Sheet Script - 将每个选项卡保存到特定文件夹中的单独文件中
问题描述
我有一个带有多个选项卡的 Google 工作表,我需要将每个选项卡保存到特定文件夹中的新文件中。下面的代码有效,但它将所有内容保存在我的驱动器根文件夹中。如何指定应在其中创建新文件的文件夹?
function copySheetsToSS() {
var ss = SpreadsheetApp.getActive();
for(var n in ss.getSheets()){
var sheet = ss.getSheets()[n];// look at every sheet in spreadsheet
var name = sheet.getName();//get name
if(name != 'CSD' && name !='HES' && name != 'NHM' && name != 'NUR' && name != 'RMPE' && name != 'S W' && name != 'Validations'){ // exclude some names
var alreadyExist = DriveApp.getFilesByName(name);// check if already there
while(alreadyExist.hasNext()){
alreadyExist.next().setTrashed(true);// delete all files with this name
}
var copy = SpreadsheetApp.create(name);// create the copy
sheet.copyTo(copy);// copy content
copy.getSheets()[0].setName(name);// rename first sheet to same name as SS
}
}
}
解决方案
创建新文件后尝试移动到正确的文件夹
var folder = DriveApp.getFolderById("___here the ID of your folder___")
var copy = SpreadsheetApp.create(name);// create the copy
sheet.copyTo(copy);// copy content
DriveApp.getFileById(copy.getId()).moveTo(folder);// move to folder
推荐阅读
- powershell - 如何从powershell中的csv文件列表中grep日期模式?
- c++ - 将对象传递给 QT 中的函数会导致分段错误
- vba - Outlook“暂停”电子邮件直到同一天的时间
- javascript - 克隆一个省略嵌套属性的对象
- php - 如何从不同的表行返回参数
- mysql - vagrant vm中docker中mysql卷容器的问题
- javascript - 直接使用 ViewState 或其他方法清除隐藏字段来更新 Postback 数据?
- javascript - 如何在悬停时用纯色填充渐变 svg
- marklogic - 由于文件太大,MarkLogic Corb 作业在处理过程中失败
- spring - Spring Data JPA 存储库方法查询无法解析 OrderBy 之后的属性名称