谷歌脚本宏将单个工作表保存在文件夹中

问题描述 投票:0回答:2

我创建了这段代码,用于将电子表格保存在 googledrive 的文件夹中。它工作正常。我在我的电子表格中像宏一样使用它。

function mysave() {
 var folder3 =DriveApp.getFoldersByName("NAME_OF_FOLDER").next().getId();
 var folder3_sel =DriveApp.getFolderById(folder3);
 DriveApp.getFileById("ID_OF_SPREADSHEET").makeCopy("TEST",folder3_sel);

但我想要一个代码,用于将电子表格的单张保存在 googledrive 的文件夹中。我不能使用工作表的 ID,因为它不适用于“driveapp”。我需要找到另一种方法来保存工作表。 谁能帮我?我不是程序员。 谢谢!

google-apps-script google-sheets google-drive-api
2个回答
0
投票

尝试制作一个新的电子表格,然后将工作表移到那里:

function mySave() {

  const newSpreadsheet = SpreadsheetApp.create(`TEST`)

  SpreadsheetApp.getActiveSpreadsheet()
                .getSheetByName(`SheetToCopy`)
                .copyTo(newSpreadsheet)

  SpreadsheetApp.openById(newSpreadsheet.getId())
                .deleteSheet(newSpreadsheet.getSheetByName(`Sheet1`))

  const folder3 = DriveApp.getFoldersByName("NAME_OF_FOLDER").next().getId()

  DriveApp.getFileById(newSpreadsheet.getId())
          .moveTo(folder3)

}

当然,如果您需要任何解释,我会非常高兴。


0
投票

完美,修复。

现在这个错误:

 const folder3 = DriveApp.getFoldersByName("my_folder").next().getId() 
 const newSpreadsheet_id= newSpreadsheet.getSheetId() 

DriveApp.getFileById(newSpreadsheet_id).moveTo(folder3) }

异常:获取对象 DriveApp 上的方法或属性 getFileById 时出现意外错误。

© www.soinside.com 2019 - 2024. All rights reserved.