【发布时间】:2016-12-09 17:14:27
【问题描述】:
我正在尝试创建一个脚本,在我的 Google 驱动器中创建一个新的电子表格,然后将特定 Google 驱动器文件夹中的工作表合并到新创建的电子表格中。
截至目前,我收到以下错误:无法将 [object Object] 转换为电子表格。 (第 34 行,文件“代码”)
我复制了下面的代码。
function mergeSheets() {
/* Retrieve the desired folder */
var myFolder = DriveApp.getFoldersByName("Merging Spreadsheet Test Folder").next();
/* Get all spreadsheets that resided on that folder */
var spreadSheets = myFolder.getFilesByType("application/vnd.google-apps.spreadsheet");
var newSpreadSheet = {
"title": "Test Merge Document",
"mimeType": "application/vnd.google-apps.document",
"parents": [
{
"id": "0B4DgXVz2cL8oRURkdUNCZEhITG8"
}
]
};
Drive.Files.insert(newSpreadSheet);
/* Iterate over the spreadsheets over the folder */
while(spreadSheets.hasNext()) {
var sheet = spreadSheets.next();
/* Open the spreadsheet */
var spreadSheet = SpreadsheetApp.openById(sheet.getId());
/* Get all its sheets */
for(var y in spreadSheet.getSheets()) {
/* Copy the sheet to the new merged Spread Sheet */
spreadSheet.getSheets()[y].copyTo(newSpreadSheet);
}
}
}
任何帮助将不胜感激。
【问题讨论】:
-
我注意到您使用 SpreadsheetApp 打开了其他电子表格。也许你应该在 while 循环之前以同样的方式打开
newSpreadsheet。