首页 > 解决方案 > 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
    }
  }
}

标签: google-apps-script

解决方案


创建新文件后尝试移动到正确的文件夹

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

推荐阅读